我正在尝试从HTML5canvas保存一张图片(JPEG)到桌面。我可以在一个新的窗口中打开window.open(canvas.toDataURL('png'), "");
,但是怎么将它保存到桌面?谢谢。
我正在尝试从HTML5canvas保存一张图片(JPEG)到桌面。我可以在一个新的窗口中打开window.open(canvas.toDataURL('png'), "");
,但是怎么将它保存到桌面?谢谢。
HTML5中有一个新的下载属性,允许您为链接指定文件名。
我为保存画布而创建了它。它有一个链接(“下载为图像”)-
<a id="downloadLnk" download="YourFileName.jpg">Download as image</a>
还有这个函数:
function download() {
var dt = canvas.toDataURL('image/jpeg');
this.href = dt;
};
downloadLnk.addEventListener('click', download, false);
您甚至可以通过设置属性downloadLnk.download = 'myFilename.jpg'
来动态更改文件名。
演示来自档案。
如果有帮助的话,请查看这个链接,它是一个已经实现了同样需求的jsfiddle示例。 http://jsfiddle.net/5whKM/
<img src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7"/>
<script>
var img = document.images[0];
img.onclick = function() {
var url = img.src.replace(/^data:image\/[^;]/, 'data:application/octet-stream');
location.href = url;
};
</script>
window.location=canvas.toDataURL('png')
发送给用户,以下载你想要的文件。因此,打开一个新窗口是你应该做的事情,也就是所谓的“下载”。