从 Google Chrome 下载文件时出现网络错误
Failed network error while downloading the files from Google Chrome
我编写了下面的 c# 代码来下载我的应用程序中的附件,当我 运行 代码时,我可以使用 Mozilla、Internet Explorer 下载文件,但这在 Google Chrome.
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
中下载需要做哪些更改
如果 "application/octet-stream"
是您对表单的回复,Google Chrome 将不会为您打开 "file save" window。
内容类型应该是已知的任何内容,如果您知道的话。例如。 "application/pdf"
、"image/png"
之类的。参见 Complete list of MIME types
查看此问题What could keep Chrome from downloading files?了解更多信息。
您可以尝试添加Content-Length
header,但不确定是否有效:
System.IO.FileInfo fl = new System.IO.FileInfo(downloadFilePath);
this.HttpContext.ApplicationInstance.Context.Response.AddHeader("Content-Length", fl.Length.ToString());
同样的问题让我害怕了好几个月。这是我解决它的方法。
- 打开 IIS 管理器
- 单击您的站点所在的活动服务器 运行
- 在“功能视图”中向下滚动并在“服务器组件”下找到配置编辑器。
- 在配置编辑器部分下,有一个下拉菜单。浏览它并寻找 system.applicationHost
- 在它下面,你应该找到weblimits
- 要更改的配置是 minBytePerSecond。默认值可能是 240。Microsoft 建议使用 500,但当用户处于 Internet 连接速度较慢的区域时会出现此下载问题。
修复方法是将值设置为 0。
这可能会有副作用,因为它可能会打开您的服务以 slow loris attack
注意:根据我目前在 Internet 上阅读的内容,我相信此修复适用于 IIS > 7。
我的是 IIS 10,所以上面的步骤适用于 IIS 10。
希望对大家有所帮助。
我编写了下面的 c# 代码来下载我的应用程序中的附件,当我 运行 代码时,我可以使用 Mozilla、Internet Explorer 下载文件,但这在 Google Chrome.
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
中下载需要做哪些更改"application/octet-stream"
是您对表单的回复,Google Chrome 将不会为您打开 "file save" window。
内容类型应该是已知的任何内容,如果您知道的话。例如。 "application/pdf"
、"image/png"
之类的。参见 Complete list of MIME types
查看此问题What could keep Chrome from downloading files?了解更多信息。
您可以尝试添加Content-Length
header,但不确定是否有效:
System.IO.FileInfo fl = new System.IO.FileInfo(downloadFilePath);
this.HttpContext.ApplicationInstance.Context.Response.AddHeader("Content-Length", fl.Length.ToString());
同样的问题让我害怕了好几个月。这是我解决它的方法。
- 打开 IIS 管理器
- 单击您的站点所在的活动服务器 运行
- 在“功能视图”中向下滚动并在“服务器组件”下找到配置编辑器。
- 在配置编辑器部分下,有一个下拉菜单。浏览它并寻找 system.applicationHost
- 在它下面,你应该找到weblimits
- 要更改的配置是 minBytePerSecond。默认值可能是 240。Microsoft 建议使用 500,但当用户处于 Internet 连接速度较慢的区域时会出现此下载问题。 修复方法是将值设置为 0。 这可能会有副作用,因为它可能会打开您的服务以 slow loris attack
注意:根据我目前在 Internet 上阅读的内容,我相信此修复适用于 IIS > 7。 我的是 IIS 10,所以上面的步骤适用于 IIS 10。
希望对大家有所帮助。