使用JavaScript将Base64字符串转换为可下载文件可以通过以下步骤实现:
atob()
函数将Base64字符串解码为二进制数据。URL.createObjectURL()
函数将Blob对象转换为可下载链接。<a>
标签,并设置其href
属性为URL对象的值。<a>
标签的download
属性为文件名。<a>
标签的click()
方法模拟点击事件,触发文件下载。下面是一个示例代码:
function downloadFileFromBase64(base64String, fileName) {
// 将Base64字符串转换为字节数组
var byteCharacters = atob(base64String);
// 创建字节数组的缓冲区
var byteArrays = [];
for (var offset = 0; offset < byteCharacters.length; offset += 512) {
var slice = byteCharacters.slice(offset, offset + 512);
var byteNumbers = new Array(slice.length);
for (var i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
// 创建Blob对象
var blob = new Blob(byteArrays, { type: 'application/octet-stream' });
// 创建URL对象
var url = URL.createObjectURL(blob);
// 创建<a>标签并设置属性
var link = document.createElement('a');
link.href = url;
link.download = fileName;
// 模拟点击事件,触发文件下载
link.click();
// 释放URL对象
URL.revokeObjectURL(url);
}
使用示例:
var base64String = 'SGVsbG8gd29ybGQh';
var fileName = 'hello.txt';
downloadFileFromBase64(base64String, fileName);
这段代码将会将名为"hello.txt"的文件以Base64字符串的形式转换为可下载文件。你可以根据需要修改文件名和Base64字符串。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云