Javascript 当尝试在Chrome中下载内联图像时,文件大小是多少?
我正在浏览器中生成GIF,因此我可以使用的唯一链接是内联数据URL。(如Javascript 当尝试在Chrome中下载内联图像时,文件大小是多少?,javascript,html,google-chrome,browser,Javascript,Html,Google Chrome,Browser,我正在浏览器中生成GIF,因此我可以使用的唯一链接是内联数据URL。(如数据:image/gif;base64,) 我想允许用户下载他们创建的GIF。为了让它像点击链接一样简单,我使用了like so: 对于小文件,这将打开我的MacOS“另存为”对话框。有了这个GIF,它就没有了。当我点击链接时,什么也没有发生,除了Chrome图标变为如下所示: 当我右键点击GIF并选择“另存图像为”时,我可以很好地保存它。这让我看到GIF是一个惊人的3MB 我已经检查了一个以通常方式链接到的大文件,而
数据:image/gif;base64,
)
我想允许用户下载他们创建的GIF。为了让它像点击链接一样简单,我使用了like so:
对于小文件,这将打开我的MacOS“另存为”对话框。有了这个GIF,它就没有了。当我点击链接时,什么也没有发生,除了Chrome图标变为如下所示:
当我右键点击GIF并选择“另存图像为”时,我可以很好地保存它。这让我看到GIF是一个惊人的3MB
我已经检查了一个以通常方式链接到的大文件,而a[download]
链接工作正常。这似乎只是内联数据URL文件的问题
是否有文件大小限制
奖金问题:
- 为什么有文件大小限制
- 有解决办法吗
- 为什么Chrome会这样做?不确定。看起来可能是个虫子
- 解决方法:不确定。您可以尝试使用@roland starke建议的
,或者在新选项卡中打开数据URLURL.createObjectUrl
- TL;DR:数据url大小限制为2 MiB
--
这意味着文件大小略小于此值,如图所示
还要注意的是,它是一个2mebyte的限制,因此“2mib”有一个小“i”,这意味着限制为2*2^20=2097152字节,或熟悉的基础10兆字节MB的2.097
如中所示,这意味着1.568MB的文件可以正常下载,但Chrome无法下载1.581MB的文件
<a download="GIF" href="data:image/gif;base64,...">Download</a>