【问题标题】:FileStream.Write Upload a image, but damaged or corruptedFileStream.Write 上传图像,但已损坏或损坏
【发布时间】:2011-07-14 03:54:46
【问题描述】:

您好,我使用 FileStream 将文件上传到网络服务器,我使用的是 asp.net,当我使用 Chrome 或 Firefox 时上传工作正常,但是当我使用 IE 时,文件已损坏或损坏,我无法打开它。 这是代码

 try
   {

            using (fileStream = new FileStream(saveLocation, FileMode.Create, FileAccess.Write))
            {
                var length = 4096;
                var bytesRead = 0;
                var buffer = new Byte[length];
                do
                {
                    bytesRead = Request.InputStream.Read(buffer, 0, length);
                    fileStream.Write(buffer, 0, bytesRead);

                } while (bytesRead > 0);
                fileStream.Flush();
            }
        }
        catch
        {
            result = "{\"success\":\"false\"}";
        }
        finally
        {
            if (fileStream != null)

                fileStream.Close();
        }

我已经调试过了,一切都很好,没有例外,文件可以保存在服务器中,但是我无法打开它?任何帮助,非常感谢

【问题讨论】:

  • 我找到了答案,我使用了valuems Ajax Jquery插件上传文件,因为它不需要Flash on Brower,看这里valums.com/ajax-upload,所以在使用firefox和chrome时,文件流在 Request.InputStream 内,但使用 IE 时,流在 Request.Files[0].InputStream 内。这就是我无法正确保存图像文件的原因。谢谢

标签: asp.net file-io upload


【解决方案1】:

我会比较文件...使用诸如 winmerge 之类的工具来查看并具体了解正在上传和保存的文件之间的不同之处。

一旦您看到差异,您就可以纠正这种情况。例如,可能是 IE 在文件末尾发送了一个额外的字节...这使它看起来很损坏,您可以根据用户代理将其删除...

GL

【讨论】:

  • 我找到答案了,我用了
猜你喜欢
  • 1970-01-01
  • 2021-03-15
  • 2015-11-14
  • 2012-04-13
  • 2017-06-23
  • 1970-01-01
  • 2019-05-28
  • 2020-08-08
相关资源
最近更新 更多