toDataURL图片下载没有扩展名

时间:2017-09-26 11:46:09

标签: html html5-canvas todataurl

当使用...

点击div时,我正在下载图像
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");

但它没有效果,我哪里错了?

1 个答案:

答案 0 :(得分:1)

ps = subprocess.Popen(mysqldump, stdout=subprocess.PIPE) sps = subprocess.Popen(mysql, stdin=ps.stdout) retcode = ps.wait() ps.stdout.close() sps.wait() 属性不是Location对象的一部分,因为document.location成立,仅适用于HTML锚点(A)标记(IE中除外)。

根据浏览器和版本的不同,您可以尝试将画布转换为download对象,然后转换为Blob以设置文件名,并通过File将其作为网址提供。此外,IE中不支持URL.createObjectURL()(但您可以polyfill toBlob(),而是使用msSaveBlob

(并且您还希望将mime-type的“image”替换为mime-type的“application”(例如“application / octet-stream”)。)

toBlob()
c.toBlob(function(blob) {
  var file = new File([blob], "test.png", {type: "application/octet-stream"});
  document.location.href = URL.createObjectURL(file);
})

(可选)尝试处理许多特殊情况的FileSaver.js library