首页 > 解决方案 > 内置 Chrome PDF 查看器不会为 ASP.NET Web App 中经过身份验证的用户完全加载大型 PDF 文件

问题描述

内置 Chrome PDF 查看器不会为经过身份验证的用户完全加载大型 PDF 文件。

在我的环境中重现的步骤:

  1. 在 Visual Studio 2019 中创建一个具有身份验证的新WebForms项目Individual User Accounts
  2. solution explorer创建一些文件夹,例如MyPDFs并放入一些大的pdf 文件中。
  3. 使用以下命令保护此文件夹web.config

    <location path="MyPDFs"> <system.web> <authorization> <deny users="?" /> </authorization> </system.web> </location>

    并为此测试目的设置runAllManagedModulesForAllRequeststrue

    <modules runAllManagedModulesForAllRequests="true">

  4. 使用 IISExpress 运行此站点并导航到~/MyPDFs/A17_FlightPlan.pdf在我的情况下https://localhost:44302/pdfs/A17_FlightPlan.pdf

  5. 登录屏幕出现,用户成功登录后,内置 Chrome PDF 查看器(pdfium) 部分呈现 pdf(仅第一页)部分渲染的图像

  6. 当您从 中删除授权规则web.config或将 PDF 文件放到其他位置时,它会正确加载

  7. 我可以在生产中重现相同的行为 - 完整的 IIS

  8. 其他浏览器也能正常工作:FireFox、EDGE 甚至 Chrome,替换为 Adob​​e Acrobat 阅读器扩展的内置 PDF 查看器

问题可能出在哪里?标头正常吗?

响应标头

标签: asp.netgoogle-chromepdfpdfium

解决方案


这是谷歌浏览器中的一个错误。在 Chrome 版本81.0.4044.43 (Official Build) beta (64-bit)中它似乎工作。


推荐阅读