可以通过以下步骤实现:
atob()
函数将base64数据解码为二进制数据,然后创建一个Uint8Array数组,并将解码后的数据存储在其中。最后,使用Blob
构造函数将数组转换为Blob对象。function base64ToBlob(base64Data, contentType) {
var byteCharacters = atob(base64Data);
var byteArrays = [];
for (var i = 0; i < byteCharacters.length; i++) {
byteArrays.push(byteCharacters.charCodeAt(i));
}
var byteArray = new Uint8Array(byteArrays);
return new Blob([byteArray], { type: contentType });
}
URL.createObjectURL()
函数生成Blob对象的URL。function saveBlobAsFile(blob, fileName) {
var downloadLink = document.createElement("a");
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = fileName;
downloadLink.click();
}
var base64Data = "base64图像数据";
var contentType = "image/png";
var fileName = "image.png";
var blob = base64ToBlob(base64Data, contentType);
saveBlobAsFile(blob, fileName);
这样,base64图像将会以指定的文件名保存到用户的文件路径中。
请注意,这只是一个基本的实现示例,具体的实现方式可能会因应用场景和需求而有所不同。
领取专属 10元无门槛券
手把手带您无忧上云