我在页面上有一个画布元素。我调用canvas.toDataURL(),现在有一个处理它的图像数据。从canvas.toDataURL客户端触发下载?
我是否需要将此数据发布到服务器,让我的服务器使用该数据构造文件流,然后将我的文档的位置设置为返回的文件流?似乎是一个很大的开销时,我有我所有的数据客户端...
我在页面上有一个画布元素。我调用canvas.toDataURL(),现在有一个处理它的图像数据。从canvas.toDataURL客户端触发下载?
我是否需要将此数据发布到服务器,让我的服务器使用该数据构造文件流,然后将我的文档的位置设置为返回的文件流?似乎是一个很大的开销时,我有我所有的数据客户端...
当然,退房Canvas2Image.js
// returns an <img> element containing the converted PNG image
var oImgPNG = Canvas2Image.saveAsPNG(oCanvas, true);
// returns an <img> element containing the converted JPEG image (Only supported by Firefox)
var oImgJPEG = Canvas2Image.saveAsJPEG(oCanvas, true);
// returns an <img> element containing the converted BMP image
var oImgBMP = Canvas2Image.saveAsBMP(oCanvas, true);
内部所有它做的是Base64编码的数据和呼叫document.location.href = base64EncodedData;
。
你可以在DataURL设置为IMG ELEM
var plane = document.getElementsByTagName ("canvas")[0],
ctx = plane.getContext("2d"),
img = document.createElement("img");
ctx.fillRect (0,0,400,400);
img.src = plane.toDataURL();
document.body.appendChild (img);
当然老的
即不支持此
如何设置文件名? – 2013-12-13 23:48:17
即使不到一岁,我的答案也很老派。查看这个例子:http://html5-demos.appspot.com/static/a.download.html – Incognito 2013-12-16 19:56:35