本文介绍了使用Javascript在IE中将画布下载到图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面的代码会将画布转换为图像,并且在 IE 以外的浏览器中下载相同的内容(我使用的是 IE9).IE 代码在新选项卡中打开 DataURL.但是,它无法下载.
Below code will convert canvas to image and the same is downloaded in browsers other than IE(I'm using IE9).IE Code opens theDataURL in new tab.But,it is not downloadable.
if(navigator.appName == "Microsoft Internet Explorer")
{
somehtml1= document.createElement("img");
somehtml1.id="imgid";somehtml1.name="imgname";
somehtml1.src=canvas.toDataURL("image/png");
document.body.appendChild(somehtml1);
window.win = open (somehtml1.src);
setTimeout('win.document.execCommand("SaveAs")', 500);
}
else
{
somehtml= document.createElement("a");
somehtml.href = canvas.toDataURL("image/png");
somehtml.download = "test.png";
}
推荐答案
这是我正在使用的 - 不确定这需要什么版本的 IE,因为我使用的是 11.它使用 IE 的 blob 和画布作为 dataURL对于其他浏览器.在 Chrome 和 IE 11 中测试.
Here's what I'm using - not sure what version of IE this requires as I'm using 11. It uses a blob for IE and canvas as a dataURL for other browsers. Tested in Chrome and IE 11.
(canvas 是画布对象,link 是超链接对象)
(canvas is the canvas object, link is an hyperlink object)
if (canvas.msToBlob) { //for IE
var blob = canvas.msToBlob();
window.navigator.msSaveBlob(blob, 'dicomimage.png');
} else {
//other browsers
link.href = canvas.toDataURL();
link.download = "dicomimage.png";
}
这篇关于使用Javascript在IE中将画布下载到图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!