Built-in Chrome PDF 查看器未在 ASP.NET Web 应用程序中为经过身份验证的用户完全加载大型 PDF 文件
Built-in Chrome PDF Viewer does not fully load large PDF file for authenticated users in ASP.NET Web App
Built-in Chrome PDF 查看器无法为经过身份验证的用户完全加载大型 PDF 文件。
在我的环境中重现的步骤:
- 在 Visual Studio 2019 年创建一个具有
Individual User Accounts
身份验证的新 WebForms
项目
- 在
solution explorer
中创建一些文件夹,例如MyPDFs
并在里面放一些大的 pdf file.
使用 web.config
保护此文件夹:
<location path="MyPDFs">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
并出于此测试目的将 runAllManagedModulesForAllRequests
设置为 true
:
<modules runAllManagedModulesForAllRequests="true">
运行 这个带有 IISExpress 的站点并导航到 ~/MyPDFs/A17_FlightPlan.pdf
在我的例子中它是 https://localhost:44302/pdfs/A17_FlightPlan.pdf
登录屏幕出现,在用户成功登录后,pdf 部分呈现(仅第一页) 由 built-in Chrome PDF 查看器 (pdfium)
当您从 web.config
删除授权规则,或者将 PDF 文件放到其他位置时,它会正确加载
我可以在生产中重现相同的行为 - 完整的 IIS
其他浏览器工作正常:FireFox、EDGE,甚至 Chrome 替换为 Adobe Acrobat built-in PDF 查看器 reader 扩展
问题出在哪里? headers 还好吗?
这是 Google Chrome 中的错误。在 Chrome 版本 81.0.4044.43 (Official Build) beta (64-bit)
中似乎有效。
Built-in Chrome PDF 查看器无法为经过身份验证的用户完全加载大型 PDF 文件。
在我的环境中重现的步骤:
- 在 Visual Studio 2019 年创建一个具有
Individual User Accounts
身份验证的新WebForms
项目 - 在
solution explorer
中创建一些文件夹,例如MyPDFs
并在里面放一些大的 pdf file. 使用
web.config
保护此文件夹:<location path="MyPDFs"> <system.web> <authorization> <deny users="?" /> </authorization> </system.web> </location>
并出于此测试目的将
runAllManagedModulesForAllRequests
设置为true
:<modules runAllManagedModulesForAllRequests="true">
运行 这个带有 IISExpress 的站点并导航到
~/MyPDFs/A17_FlightPlan.pdf
在我的例子中它是https://localhost:44302/pdfs/A17_FlightPlan.pdf
登录屏幕出现,在用户成功登录后,pdf 部分呈现(仅第一页) 由 built-in Chrome PDF 查看器 (pdfium)
当您从
web.config
删除授权规则,或者将 PDF 文件放到其他位置时,它会正确加载我可以在生产中重现相同的行为 - 完整的 IIS
其他浏览器工作正常:FireFox、EDGE,甚至 Chrome 替换为 Adobe Acrobat built-in PDF 查看器 reader 扩展
问题出在哪里? headers 还好吗?
这是 Google Chrome 中的错误。在 Chrome 版本 81.0.4044.43 (Official Build) beta (64-bit)
中似乎有效。