要实现从 base64 字符串下载 docx 文件,你可以使用以下解决方法:
function b64toBlob(b64Data, contentType) {
contentType = contentType || '';
var sliceSize = 512;
var byteCharacters = atob(b64Data);
var byteArrays = [];
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
var slice = byteCharacters.slice(offset, offset + sliceSize);
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);
}
var blob = new Blob(byteArrays, {type: contentType});
return blob;
}
function createDownloadLink(blob, fileName) {
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = fileName;
link.click();
}
var base64String = "your-base64-string";
var blob = b64toBlob(base64String, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document');
createDownloadLink(blob, 'file.docx');
请注意,以上代码示例假设你已经获取到了正确的 base64 字符串,并将其存储在 base64String
变量中。