Javascript:无法下载base64解码图像

时间:2018-08-30 12:58:25

标签: javascript

我想下载使用base64编码的JS中的图像。为此,我首先解码了图像并尝试下载它。文件正在下载,但是下载的文件中没有内容。

编码后的图像就像:

  

data:image / png; base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4 // 8 / w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg ==

我使用以下代码解码并下载了图像:

var imgdata = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==';

var imggetbase64decode = imgData.replace(/^data:image\/(png|jpg);base64,/, ""); // imgData is the encoded base64 string.

var data = imggetbase64decode, fileName = "my-download.png";
    var a = document.createElement("a");
        document.body.appendChild(a);
        a.style = "display: none";
        var json = data,
        blob = new Blob([json], {type: "octet/stream"}),
        url = window.URL.createObjectURL(blob);
        a.href = url;
        a.download = fileName;
        a.click();
        window.URL.revokeObjectURL(url);

打开下载的文件时出现错误:

  

无法加载图片“ my-download.png”。

1 个答案:

答案 0 :(得分:4)

在这里您可以获得想要的东西 How to download a base64-encoded image?

  • 如果没有,请分享一些Codepen链接,以便我为您提供帮助。