我的base64字符串看起来像NOT OK
。
我尝试通过浏览器下载此文件。因此,
NS
"UklGRkAdEQBXQVZFZm10IBIAAAABAAEAg..."
从blob创建URL b64toBlob: function(b64Data, sliceSize = 512) {
let byteCharacters = atob(b64Data);
let byteArrays = [];
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
let slice = byteCharacters.slice(offset, offset + sliceSize);
let byteNumbers = new Array(slice.length);
for (let i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
let byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
let blob = new Blob(byteArrays);
return blob;
}
标签的点击。Mozilla Firefox可以识别文件类型,并提供具有正确扩展名的文件下载,这很好,但是Chrome可以下载txt文件,而与实际文件类型无关,这是有问题的。
创建blob文件时,我可以设置文件类型,Chrome可以正常运行,但是我不知道如何从base64定义正确的MIME类型。
答案 0 :(得分:0)
读取base64的第一个字符。
content.charAt(0)
并保留一个具有以下值的开关盒以获取类型
'/':jpg
'i':png
'R':gif
'U':webp