gpt4 book ai didi

javascript - 如何为所有用户提供 blob 和良好的文件名?

转载 作者:数据小太阳 更新时间:2023-10-29 03:54:46 25 4
gpt4 key购买 nike

我有一个 PDF 文件作为 blob 对象。我想为我的用户服务,现在我正在做:

html = '<iframe src="' + URL.createURL(blob) + '">'; 

这对于想要使用浏览器内置 PDF 工具的人来说效果很好。

但是...有些人将他们的浏览器设置为自动下载 PDF。对于这些人,下载文件的名称是一些基于 blob URL 的随机字符串。这对他们来说是一次糟糕的经历。

我知道我也可以:

<a href="blobURL" download="some-filename.pdf">

但这对于想要使用浏览器内 PDF 阅读器的人来说是一种糟糕的体验,因为这会迫使他们下载文件。

有没有办法让每个人都拥有好的文件名,并允许每个人以他们想要的方式阅读 PDF(在他们的浏览器或操作系统的阅读器中)?

谢谢

最佳答案

至少看看 Google Chrome,如果用户禁用 PDF 查看器(使用选项“下载 PDF 文件而不是在 Chrome 中自动打开它们”),那么 window.navigator.plugins将既不显示“Chromium PDF 插件”也不显示“Chromium PDF 查看器”。如果该选项保留默认设置,查看器将显示在插件列表中。

使用这种方法,可以利用 window.navigator.plugins检查是否有任何元素的 name s 是上述插件之一。然后,根据该结果,显示 <iframe><a href="blobUrl" download="file.pdf"> .对于其他浏览器,我认为必须使用不同的方法。您还可以检查“Acrobat Reader”插件,有些机器可能有,甚至只有“PDF”这个词。

附带说明一下,看起来确实可以通过使用 http://www.pinlady.net/PluginDetect/PDFjs/ 来检测是否启用了默认的 Firefox PDF 查看器。 .

关于javascript - 如何为所有用户提供 blob 和良好的文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47243766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com