我有这个返回 pdf 文档的控制器操作:
public FileResult getPdf()
{
System.IO.FileStream fileStream = System.IO.File.OpenRead("myFile.pdf");
byte[] bytes = new byte[(int)fileStream.Length];
fileStream.Read(bytes, 0, (int)fileStream.Length);
Response.AppendHeader("Content-Disposition", "inline;");
return File(bytes, "application/pdf", "file.pdf");
}
该代码可以与 ActionLink 配合使用:
@Html.ActionLink("Download File","getPdf")
但不适用于:
<embed id="PdfFile" type="application/pdf" src="/Home/getPdf"/>
或者
<object id="PdfFile" type="application/pdf" src="/Home/getPdf"/>
或者
<script type="text/javascript" >
$(document).ready(function () {
$("#someDiv").load('/Home/getPdf');
});
</script>
这 3 个选项在 Visual Studio 自主机上运行良好,但是当我部署到 IIS7 时返回“找不到错误 404”。ActionLink 在 IIS7 中也能正常工作
这些文件夹对所有用户都有权限。
我还尝试了 FileStreamResult 和 HttpResponse.binaryWrite。(结果相同)
谁能帮我?
谢谢