我有问题。我要保存文件(图像)。但是当它可以保存时,我拥有的图像文件总是损坏并且无法打开。尝试将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();
}
尝试一下,在您的html文件中这样使用
<a [href]="downloadurl">Download</a>
这里“ downloadurl”是文件的下载URL