【发布时间】:2016-10-07 06:41:13
【问题描述】:
我创建了一个功能,用户可以从我的网页下载 pdf 文件。该文件存储在数据库中,并从 webapi 请求。 webapi的返回值为byte[]。
我的问题是,当我在本地 iis 上运行 Web 应用程序时,此函数运行时没有任何错误。我得到了 pdf 文件,它已正确下载到我的机器上。但是,当我将 Web 应用程序部署到我的测试服务器时,此代码会在 chrome 中生成 RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION,其中一些文件是其他文件下载到机器上的,但是当我尝试打开 pdf 文件时,我得到了: 无法加载 pdf 文件。
chrome 和 IE 都会出现这种情况。
这是我的代码:
[HttpGet]
[DoNotChangeCacheSettings]
public virtual FileResult DownloadTranslationFile(Guid id)
{
Guid assessmentTemplateId = id;
File translationFile = Services.GetFileContent(assessmentTemplateId);
var fileName = HttpUtility.UrlPathEncode(translationFile.FileName);
this.HttpContext.Response.Headers.Add("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
var result = File(translationFile.FileContent.Content, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
return result;
}
我已经尝试解决此问题 2 天了,但我根本无法弄清楚问题是什么。希望大家能帮忙。谢谢。
【问题讨论】:
标签: c# .net asp.net-mvc-3 pdf model-view-controller