将图像下载为数据url时出错



所以,我正在做一个链接,从数据url(一个大的url)下载图像:

<a download='fileName' href="data:image/png;base64,/9j/4WSsRX...">something</a>

然而,每当我尝试点击该链接时,我都会收到一个错误,告诉我一些网络问题。

我做了一个小提琴测试,但它很大(15mb的文本),需要一段时间才能加载:

https://jsfiddle.net/jjydp1ek/

由于jsfiddle很难加载,我在mediafire中添加了一个文件:http://www.mediafire.com/download/p85y1g442ne9v6m/new++7.html

测试是一个与链接具有相同数据url值的图像,该图像是可见的,但我看到在chrome上的新选项卡中打开图像的选项不起作用。

我在ie 11中用画布做了这件事,也失败了

问题:

有没有可能让它像现在这样与下载链接一起工作?

下载文件的数据url是否有大小限制?

我该如何让用户能够下载该图像?

此外,在这里提问,如果你认为文本中的错误不可理解,也可以纠正。

谢谢。

我有一个70Mb的宽带和一台强大的PC,JS fiddle甚至不会打开。

我认为有一个15MB编码的字符串是不可行的,因为每次访问都必须下载到页面上。我会尝试以下方法:

  • 优化图像,如果你有/想让gulp用于构建系统,你可以加入gulp-imagemin。我认为,如果你想走那条路,格兰特还有其他选择
  • 将文件存储在服务器上,只需放置指向路径的链接,这是首选解决方案

回答您的问题

限制:

长度限制

尽管Mozilla基本上支持长度不受限制,浏览器不需要支持任何特定的数据的最大长度。例如,Opera 11浏览器限制数据URI到大约65000个字符。

来源:数据URI-MDN

下载

以上建议是在不损失质量的情况下尽可能小地优化图像。那就试试吧。如果没有,那么给用户一个图像链接/在页面上显示它就没有问题。用户可以右键单击并保存。

注意

当我写完这个回复时,JSFiddle超时了。

相关内容

  • 没有找到相关文章

最新更新