【问题标题】:Failed to load Resources error while downloading from safari ASP.NET从 safari ASP.NET 下载时无法加载资源错误
【发布时间】:2015-12-14 07:48:56
【问题描述】:

我正在使用 ASP.NET MVC 5,从 Safari 下载文件时遇到错误,它在 FireFox/Chrome 上正常工作。

在我的网站中,我正在尝试下载 xls 文件,显示错误(来自 Safari)

[错误] 加载资源失败:帧加载中断

这是我的代码 sn-p

var memStream = new  MemoryStream(encoding.GetBytes(model.ExportGenericHtml(true)));
           HttpResponseMessage fullResponse = >Request.CreateResponse(HttpStatusCode.OK);
           fullResponse.Content = new StreamContent(memStream);
           fullResponse.Content.Headers.ContentType = _XlmediaType;
        // Response.AddHeader("Content-Length", data.Length.ToString());
           fullResponse.Content.Headers.Add("Content-Length",  memStream.Length.ToString());
           string fileName = "transactions.xls";
           fullResponse.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("fileName") { FileName = fileName };
           fullResponse.Content.Headers.Add("x-filename", fileName);
           return fullResponse;

有什么办法可以解决这个错误?

【问题讨论】:

  • 你使用锚标签吗?

标签: javascript c# asp.net safari


【解决方案1】:

检查这些参数:

来自Failed to load resource: Frame load interrupted - Agian

header("Pragma: public"); // required
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Cache-Control: private",false); // required for certain browsers 
header("Content-type: application/x-unknown"); // I always use this
header("Content-Disposition: attachment; filename='theFilename.ext'");
header("Content-Transfer-Encoding: binary");
header("Content-Length: 177998"); // you might want to set this

显然上述答案中的内容类型不符合您的需求,但应验证其他参数。

【讨论】:

    猜你喜欢
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 2013-12-20
    • 2015-12-05
    • 2017-05-16
    相关资源
    最近更新 更多