如何从角度6的URL中下载图像?

问题描述 投票:0回答:1

我有问题。我要保存文件(图像)。但是当它可以保存时,我拥有的图像文件总是损坏并且无法打开。尝试将url转换为base 64时,我感到困惑。我尝试使用saveAs(fileJS)保存图像,但是它始终在新标签页中打开。请帮助我,谢谢..

download(id,files,title){

            console.log(files[0].url);
            const encodedData = window.btoa(files[0].url);
            console.log(encodedData);

            let byteCharacters = atob(encodedData);
            let byteNumbers = new Array(byteCharacters.length);
            for (var i = 0; i < byteCharacters.length; i++) {
                byteNumbers[i] = byteCharacters.charCodeAt(i);
            }

            let byteArray = new Uint8Array(byteNumbers);

            let blob = new Blob([byteArray], {"type": "image/jpeg"});

            if(navigator.msSaveBlob){
                let filename = 'picture';
                navigator.msSaveBlob(blob, filename);
            } else {
                let link = document.createElement("a");

                link.href = URL.createObjectURL(blob);

                link.setAttribute('visibility','hidden');
                link.download = 'picture';

                document.body.appendChild(link);
                link.click();
                document.body.removeChild(link);
            }
            dialogRef.close();

}

example the image after saving

image base64 angular6 encode
1个回答
0
投票

尝试一下,在您的html文件中这样使用

<a [href]="downloadurl">Download</a>

这里“ downloadurl”是文件的下载URL

© www.soinside.com 2019 - 2024. All rights reserved.