【发布时间】:2021-01-18 14:14:35
【问题描述】:
我在我的 Angular 应用程序中使用文件保护程序来下载在我的后端生成的 PDF。该库通常在桌面和 android 上运行良好。但我似乎无法在 IOS 上下载文件。如 GitHub 页面中所述,文件保护程序也不会在新页面中打开 blob。它只是在同一页面上打开(不需要)。有趣的是,它在 safari 中运行良好(它会打开一个对话框,要求我下载,然后在不打开的情况下下载它)。在任何其他浏览器(opera、firefox 和 chrome)中,它似乎都不起作用。
我已经尝试了文件保护程序、downloadJ、自己创建一个锚标记以及下载属性、使用 application/octet-stream mime-type 和互联网上发布的其他几个解决方案。大多数浏览器中的所有这些方法都什么都不做,或者在同一页面中打开 PDF blob,而不是下载它或在新选项卡中打开它(正如文件保护程序在 IOS 上所说的那样)。
我正在 Google Cloud 函数中生成 PDF。有没有办法跳过整个客户端,让浏览器直接从那里下载文件?
是否有人对如何在移动 IOS 上下载 PDF 有其他想法(例如,通过服务人员或其他方式)?
提前致谢
【问题讨论】:
-
可能是浏览器 PDF 扩展问题。
-
这是什么意思?我该如何测试甚至修复它?
-
可能是浏览器选项绕过了http请求类型,检查this one之类的设置。如果有任何东西,还要检查浏览器的扩展设置。也尝试停用 PDF 扩展。
标签: javascript angular typescript filesaver.js