如何从JavaScript变量保存png

前端之家收集整理的这篇文章主要介绍了如何从JavaScript变量保存png前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个图像编码在base64中的一个 javascript变量:data:image / png; base64,base64数据

[编辑]
我需要将该文件保存到磁盘,而不要求访问者进行右键单击
[/编辑]

可能吗 ?怎么样 ?

提前致谢

最好的祝福

解决方法

我知道这个问题是2岁,但希望有人会看到这个更新.

您可以提示用户将图像保存在base64字符串中(并设置文件名),而不要求用户右键单击

var download = document.createElement('a');
download.href = dataURI;
download.download = filename;
download.click();

例:

var download = document.createElement('a');
download.href = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';
download.download = 'reddot.png';
download.click();

为了触发使用Firefox的点击事件,您需要执行this SO answer中解释的内容.基本上:

function fireEvent(obj,evt){
  var fireOnThis = obj;
  if(document.createEvent ) {
    var evObj = document.createEvent('MouseEvents');
    evObj.initEvent( evt,true,false );
    fireOnThis.dispatchEvent( evObj );
  } else if( document.createEventObject ) {
    var evObj = document.createEventObject();
    fireOnThis.fireEvent( 'on' + evt,evObj );
  }
}
fireEvent(download,'click')

截至20/03/2013,完全支持下载属性的唯一浏览器是Chrome. Check the compatibility table here

猜你在找的JavaScript相关文章