IE的msToBlob下载空白图片

问题描述

我正在尝试下载PNG Imgaes,此代码适用于Chrome,Firefox,Edge。但是在IE10,IE11中,它是下载空白图片。无法理解,如何解决。在Blob里面有空内容。因此,请先获得帮助和感谢。

$scope.downloadGraPHPNG = function () {
    var image = new Image();
    console.log("PNG Images");
    var canvas = document.createElement('canvas');
    var svgElement = document.getElementById('svg_element');
    svgElement.setAttribute('xmlns','http://www.w3.org/2000/svg');
    var width = svgElement.getBBox().width;
    var height = svgElement.getBBox().height;
    var clonedSvgElement = svgElement.cloneNode(true);
    var outerHTML = clonedSvgElement.outerHTML;
    var URL = window.URL || window.webkitURL || window;
    image.onload = function () {
        canvas.setAttribute('width',parseFloat(svgElement.getAttribute('width')));
        canvas.setAttribute('height',parseFloat(svgElement.getAttribute('height')));
        var context = canvas.getContext('2d');
        context.fillStyle = "#ffffff";
        context.fillRect(0,canvas.width,canvas.height);
        context.drawImage(image,0);
        var png = canvas.toDataURL();
        var fileName = getFileName("png");
        if ($scope.isIe) {
       window.navigator.msSaveBlob(blob,fileName);
        } else {
            var link = document.createElement('a');
            link.download = fileName;
            link.href = png;
            raiseEvent(link,'click');
        }
    };
    var blob = $scope.isIe ? canvas.msToBlob() : new Blob([outerHTML],{type: 'image/svg+xml;charset=utf-8'});
    var blobURL = URL.createObjectURL(blob);
    image.src = blobURL;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...