无法使用Blob在反应中下载图像

时间:2020-06-22 12:53:09

标签: javascript reactjs blob

我有一个来自base64格式的QR码。我必须点击一下按钮才能下载该图像。我使用此功能在单击按钮时下载图像。该功能成功运行,我可以下载图像,但是当我尝试打开图像时,“照片”中出现错误消息,“绘画”类型的应用程序表示不支持该文件。我使用相同的代码下载CSV数据,并且工作正常。

此代码有什么错误?


export const downloadCSV=(data, filename,image)=>
{

    var downloadLink;
    
    if(image !== null && image === true)
    {
        var dataType = 'image/png';

    }
    else{
        var dataType = 'application/vnd.ms-excel';

    }
    
    
    var filename = filename;
    
    downloadLink = document.createElement("a");
    
    document.body.appendChild(downloadLink);
    
    if(navigator.msSaveOrOpenBlob){
        var blob = new Blob(['\ufeff', data], {
            type: dataType
        });
        navigator.msSaveOrOpenBlob( blob, filename);
    }else{
        downloadLink.href = 'data:' + dataType + ', ' + data;
    
        downloadLink.download = filename;
        
        downloadLink.click();
    }

}

0 个答案:

没有答案