使用 Javascript 将画布下载到 IE 中的图像

2022-01-17 00:00:00 download image javascript html5-canvas

以下代码会将画布转换为图像,并且在 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";
            }

相关文章