从Google Chrome下载文件时出现网络错误

本文关键字:网络 错误 文件 Google Chrome 下载 | 更新日期: 2023-09-27 18:12:41

我写了下面的c#代码下载附件在我的应用程序中,当我运行代码我可以下载文件使用Mozilla, internet explorer,但这是不工作在谷歌浏览器。

string base64FileString = result;
byte[] binaryFile = Convert.FromBase64String(base64FileString);
Response.ContentType = "application/octet-stream";
Response.AddHeader("content-disposition", String.Format("attachment; filename='"{0}'"", Request.QueryString["FILENAME"]));
Response.Clear();
Response.BufferOutput = false;
Response.ClearContent();
Response.BinaryWrite(binaryFile);
Response.Flush();
Response.Close();

谁能帮我在Chrome下载需要做什么改变

从Google Chrome下载文件时出现网络错误

如果"application/octet-stream"是您从表单的响应,Google Chrome将不会为您打开"文件保存"窗口。

内容类型应该是已知的,如果您知道的话。例如,"application/pdf", "image/png"等等。请参阅MIME类型的完整列表

看到这个问题什么可以阻止Chrome下载文件?查看更多信息。

您可以尝试添加Content-Length头,但不确定它是否有效:

System.IO.FileInfo fl = new System.IO.FileInfo(downloadFilePath);
this.HttpContext.ApplicationInstance.Context.Response.AddHeader("Content-Length", fl.Length.ToString());

同样的问题困扰了我好几个月。以下是我解决它的方法。

    打开IIS管理器
  1. 单击您的站点正在运行的活动服务器
  2. 在"特征视图"中向下滚动,在服务器组件下找到配置编辑器。
  3. 在配置编辑器部分下,有一个下拉菜单。查看system.applicationHost
  4. 下,您应该找到weblimits
  5. 要修改的配置为minBytePerSecond。默认值为240。微软推荐500,但是当用户在互联网连接较慢的地区时,就会出现下载问题。修复方法是将值设置为0。这可能会有副作用,因为它可能会打开您的服务慢猴攻击

注意:根据我在互联网上读到的,我相信这个修复是应用到IIS>7.我的系统是iis10,所以上面的步骤适用于iis10。

希望对大家有所帮助。