资源解释为文档但使用 MIME 类型 application/pdf 传输

新手上路,请多包涵

请参见以下代码:

控制器:

 public ActionResult GetPDF()
{
    byte[] pdf = GetPdfFromDatabase();
    return new FileContentResult(reportData, "application/pdf");
}

看法:

 <iframe src="@Url.Action("GetPDF","Account")" width="600" height="500"></iframe>

控制台:

在此处输入图像描述

每次加载页面时,显示此警告!!!

原文由 Matheus Miranda 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 534
2 个回答

对于遇到这个话题的人。 (我也是。)最好的解决方案是您需要创建 HTML 页面作为 iframe 登陆页面来显示 PDF 内容。

这是示例 html。我只是从铬中提取。

 <html><body style="background-color: rgb(38, 38, 38); height: 100%; width: 100%; overflow: hidden; margin: 0px;"><embed width="100%" height="100%" name="plugin" id="plugin" src="your_pdf_url" type="application/pdf"></body></html>

只需将 your_pdf_url 替换为您的真实网址。我只是将此 html 添加为 Laravel 中的中间件并显示此 HTML,以便 Chrome 不会再发出警告。您可以使用此 html 作为基础并创建更好的 pdf 登陆页面,例如自定义加载。

原文由 EThaiZone 发布,翻译遵循 CC BY-SA 3.0 许可协议

iframe 请求 src 属性中提到的资源,内容类型为 text/html。所以这条消息只说“我请求了 html 但服务器响应了 pdf”

原文由 Burak SARICA 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题