【问题标题】:Format of image downloaded in client-side客户端下载的图片格式
【发布时间】:2014-05-28 15:26:12
【问题描述】:

我正在使用 javascript 下载 html 页面中的图像。这适用于最新的 firefox 和 chrome 浏览器。

我想知道图片的保存格式?不过,我们可以在文件名中给出格式,如image.png,它会保存为png格式吗?

图片的来源是SVG图形,所以这个图片完全是在客户端生成和下载的。我正在使用以下代码进行下载:

var canvas = document.getElementById('canvas2');
svg = $("#container").html();
canvg(canvas, svg);
var image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); 
var downloadLink = document.createElement("a");
downloadLink.href = image;
downloadLink.download = "imge.png";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink); 

这里image 是存储图像的javascript 变量。

【问题讨论】:

  • 格式取决于服务器实际返回的格式。服务器的内容类型是什么?二进制数据实际上已经是 PNG 格式了吗?如果不是,仅保存文件不会转换它。
  • @David,这不是从服务器返回的图像,我正在使用 HTML5 SVG 在客户端绘制它

标签: javascript html image


【解决方案1】:

它将以原始图像的格式保存。浏览器不做图像转换。

【讨论】:

  • 是的,这是我的问题,我使用 svg 在客户端创建图像,我确定转换后的图像不是 SVG。我正在使用“Canvas.toDataURL 将图像转换为数据。我将发布我的完整转换代码并更清楚地解释它。
  • 感谢您的评论,我找到了保存为png、canvas.toDataURL("image/png")等可以使用的mime类型的原因。
猜你喜欢
  • 2018-07-02
  • 2017-08-06
  • 1970-01-01
  • 1970-01-01
  • 2013-06-26
  • 1970-01-01
  • 2023-03-29
  • 2014-04-08
  • 1970-01-01
相关资源
最近更新 更多