Javascript 从base64字符串生成文件

Javascript 从base64字符串生成文件,javascript,base64,Javascript,Base64,我正在使用Web服务获取base64字符串,我需要以PDF格式向用户显示该文档 var charactersArray = atob(base64String); var byteNumbers = new ArrayBuffer(charactersArray.length); for (var i = 0; i < charactersArray.length; i++) { byteNumbers[i] = charactersArray.charCodeAt(i); }

我正在使用Web服务获取base64字符串,我需要以PDF格式向用户显示该文档

var charactersArray = atob(base64String);
var byteNumbers = new ArrayBuffer(charactersArray.length);

for (var i = 0; i < charactersArray.length; i++) {
    byteNumbers[i] = charactersArray.charCodeAt(i);
}

var byteArray = new Uint8Array(byteNumbers);

var file = new File([byteArray], "file.pdf", {
    type: "application/pdf",
});

我在一个带有ng click指令的按钮中打开此url,但我正在加载PDF。

我最近在一个类似的项目中工作,遇到了同样的问题。我使用将base64字符串转换为字节数组

它是一个JS库,因此安装后需要像这样导入:

import * as buffer from 'base64-arraybuffer';
对象URL的创建方式如下:

var byteArray = buffer.decode(base64String);
var file = new Blob([byteArray], {type: 'application/pdf'});
var pdfUrl = URL.createObjectURL(file);

我希望这有帮助

我最近在做这样一个项目,遇到了同样的问题。我使用将base64字符串转换为字节数组

它是一个JS库,因此安装后需要像这样导入:

import * as buffer from 'base64-arraybuffer';
对象URL的创建方式如下:

var byteArray = buffer.decode(base64String);
var file = new Blob([byteArray], {type: 'application/pdf'});
var pdfUrl = URL.createObjectURL(file);

我希望这有帮助

您需要将字符代码写入
byteArray
而不是
ArrayBuffer

var charactersArray = atob(base64String);
var len = charactersArray.length;
var byteNumbers = new ArrayBuffer(len);

var byteArray = new Uint8Array(byteNumbers);

for (var i = 0; i < len; i++) {
    byteArray[i] = charactersArray.charCodeAt(i);
}

var file = new File([byteArray], "file.pdf", {
    type: "application/pdf",
});
var charactersArray=atob(base64String);
var len=charactersArray.length;
var byteNumbers=新阵列缓冲区(len);
var byteArray=新的UINT8阵列(字节数);
对于(变量i=0;i
您需要将字符代码写入
byteArray
而不是
ArrayBuffer

var charactersArray = atob(base64String);
var len = charactersArray.length;
var byteNumbers = new ArrayBuffer(len);

var byteArray = new Uint8Array(byteNumbers);

for (var i = 0; i < len; i++) {
    byteArray[i] = charactersArray.charCodeAt(i);
}

var file = new File([byteArray], "file.pdf", {
    type: "application/pdf",
});
var charactersArray=atob(base64String);
var len=charactersArray.length;
var byteNumbers=新阵列缓冲区(len);
var byteArray=新的UINT8阵列(字节数);
对于(变量i=0;i