异常:System.ObjectDisposedException: Cannot access a closed file.

错误指向:读取流的内容语句 stream.Read(byteArr, 0, byteArr.Length);

当然,这里没有使用流来操作上传文件的,使用HttpContext.Request.Files[i].SaveAs(),也会出现这个问题。解决方案同下。

/// <summary>
        /// 文件上传
        /// </summary>
        /// <param name="inputStream">上传的文件流</param>
        /// <param name="filePath">上传文件的保存路径</param> 
        /// <param name="msg">错误信息</param>
        /// <returns></returns>
        public static bool SaveFile(Stream inputStream, string filePath, out string msg)
        {
            try
            {
                LogUtil.Info("文件上传操作类FileUpLoad,上传文件到服务器:SaveFile(),文件保存路径" + filePath);
                if (Directory.Exists(filePath))
                {
                    msg = "文件已存在";
                    return false;
                }
                byte[] byteArr = new byte[inputStream.Length];
                Stream stream = inputStream;
                stream.Read(byteArr, 0, byteArr.Length);
                using (FileStream fs = new FileStream(filePath, FileMode.Append, FileAccess.Write))
                {
                    fs.Write(byteArr, 0, byteArr.Length);
                }
                msg = string.Empty;
                return true;
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                //return false;
                LogUtil.Error("文件上传操作类FileUpLoad,上传文件到服务器:SaveFile()异常",ex);
                throw ex;
            }
        }
View Code

相关文章:

  • 2021-12-18
  • 2022-01-09
  • 2021-12-12
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
  • 2021-08-20
  • 2021-12-31
  • 2021-08-23
  • 2022-12-23
相关资源
相似解决方案