使用流上传文件

//使用以下方法可将文件上传到服务器任意目录下


        #region 私有方法 保存文件到服务器 SaveFile(System.Web.UI.WebControls.FileUpload fileUpload, string SaveToUrl)
        /// <summary>
        /// 保存文件到服务器
        /// </summary>
        /// <param name="fileUpload">上传控件</param>
        /// <param name="SaveToUrl">保存路径</param>
        /// <returns>确定文件是否保存成功</returns>
        private bool SaveFile(System.Web.UI.WebControls.FileUpload fileUpload, string SaveToUrl)
        {
            try
            {
                FileStream fs = new FileStream(SaveToUrl, FileMode.OpenOrCreate, FileAccess.Write);
                fs.Write(this.getByte(fileUpload), 0, fileUpload.PostedFile.ContentLength);
                fs.Close();

                return true;
            }
            catch
            {
                return false;
            }
        }
        #endregion


#region 私有方法 获取字节数组 getByte(System.Web.UI.WebControls.FileUpload fileUpload)
        /// <summary>
        /// 获取上传文件字节数组
        /// </summary>
        /// <param name="fileUpload">上传控件</param>
        /// <returns>返回字节数组</returns>
        private byte[] getByte(System.Web.UI.WebControls.FileUpload fileUpload)
        {//获得转化后的字节数组
            //得到用户要上传的文件名
            string strFilePathName = fileUpload.PostedFile.FileName;
            string strFileName = Path.GetFileName(strFilePathName);
            int FileLength = fileUpload.PostedFile.ContentLength;
            //上传文件
            Byte[] FileByteArray = new Byte[FileLength]; //图象文件临时储存Byte数组
            Stream StreamObject = fileUpload.PostedFile.InputStream; //建立数据流对像
            //读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
            StreamObject.Read(FileByteArray, 0, FileLength);
            return FileByteArray;
        }
        #endregion

你可能感兴趣的:(上传文件)