【发布时间】:2021-04-29 12:40:06
【问题描述】:
从 MVC 3.1 控制器提供 pdf 文件会生成“无法下载 - 网络错误”消息,但服务器上没有任何错误,并且响应标头似乎包含正确的数据(附有屏幕截图)。
浏览器截图/响应头
控制器代码
这似乎是完成此任务的可接受方式之一。
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Download([FromForm] IFormCollection formCollection)
{
...
// rawPdf is a byte[]
var rawPdf = await _pdfFileService.GetMergedPdfFilesAsync(mergedFileName, pdfDirectoryPath, pathList);
MemoryStream ms = new MemoryStream();
ms.Write(rawPdf, 0, rawPdf.Length);
//fix
ms.Position = 0;
// also tried
//return File(ms, "application/pdf", mergedFileName);
return new FileStreamResult(ms, new MediaTypeHeaderValue("application/pdf"))
{
FileDownloadName = mergedFileName
};
}
【问题讨论】:
标签: c# asp.net-mvc pdf-generation