从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下载需要做什么改变
如果"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管理器
- 单击您的站点正在运行的活动服务器
- 在"特征视图"中向下滚动,在服务器组件下找到配置编辑器。
- 在配置编辑器部分下,有一个下拉菜单。查看system.applicationHost 在
- 下,您应该找到weblimits
- 要修改的配置为minBytePerSecond。默认值为240。微软推荐500,但是当用户在互联网连接较慢的地区时,就会出现下载问题。修复方法是将值设置为0。这可能会有副作用,因为它可能会打开您的服务慢猴攻击
注意:根据我在互联网上读到的,我相信这个修复是应用到IIS>7.我的系统是iis10,所以上面的步骤适用于iis10。
希望对大家有所帮助。