toDataURL图片下载没有扩展名
问题描述:
我下载的图像时,一个div通过使用点击...toDataURL图片下载没有扩展名
document.location.href = save_canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
这是工作,但该下载没有扩展名,并就被称为“下载”
图像我已经尝试设置这样的名字......
document.location.download = "myfile.jpg";
document.location.href = save_canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
但它有没有影响,我在哪里去了?
答
download
属性不是Location对象的一部分,因为document.location
成立,仅适用于HTML定位点(A)标记(除IE外)。
根据浏览器和版本的不同,您可以尝试将画布转换为Blob
对象,然后转换为File
以设置文件名,并通过URL.createObjectURL()
将其作为URL提供。此外,在IE中不支持toBlob()
(但您可以使用polyfilltoBlob()
,并使用msSaveBlob
代替)。
(你也想以 “应用” 为MIME类型(例如, “应用程序/八位字节流”),以取代MIME类型的 “图像”。)
c.toBlob(function(blob) {
var file = new File([blob], "test.png", {type: "application/octet-stream"});
document.location.href = URL.createObjectURL(file);
})
A save request with PNG and filename should appear when running this code...
<canvas id=c></canvas>
或者,请尝试FileSaver.js library,它处理许多特殊情况。
https://*.com/questions/12796513/html5-canvas-to-png-file –