我在頁面上有一個畫布元素。我調用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