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

时间:2016-05-13 19:21:37

标签: javascript data-url

所以,我正在做一个从数据网址(大型网站)下载图片的链接:

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

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

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

https://jsfiddle.net/jjydp1ek/

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

测试是一个与链接具有相同数据网址值的图片,图片可见,但是我看到在Chrome上的新标签页中打开图片的选项不起作用。

我用11中的画布做这件事并且也失败了

问题:

现在可以使用现在的下载链接吗?

数据网址是否有下载文件的限制大小,这是?

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

此外,如果您认为不可理解,请在此处提出问题,或更正您看到的文字中的任何错误。

感谢。

1 个答案:

答案 0 :(得分:1)

我有一个70Mb的宽带和PC的强大功能,而JS小提琴甚至没有打开。

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

  • 优化图片,如果您有/想要为构建系统使用Gulp,则可以合并gulp-imagemin。如果你想这样,我认为Grunt还有其他选择。
  • 将文件存储在服务器上,只需放置指向路径的链接,这是首选解决方案。

回答你的问题

限制:

  

长度限制

     

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

来源:data URIs - MDN

<强>下载

以上关于优化图像的建议,如果这是一个问题,可以在不损失质量的情况下获得。然后尝试一下。如果不是,则为用户提供指向图像的链接/在页面上显示它不是问题。用户可以右键单击并保存。

注意

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