我有这个PDF文件,我需要将其转换为字节值数字数组。
我之前已将其转换为base64,但将PDF转换为base64需要2MB PDF。 有没有其他方法可以更快地将PDF转换为base64或将该PDF文件转换为字节数组(看它是否比转换为base64更快)?
我以前使用filereader将文件读入dataURL。下面是我用来转换为base64的代码。
getFileContentAsBase64(path, callback) {
window.resolveLocalFileSystemURL(path, gotFile, fail);
function fail(e) {
alert('Cannot found requested file');
}
function gotFile(fileEntry) {
fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function (e) {
var content = this.result;
callback(content);
}
reader.readAsDataURL(file);
});
}
}
修改
getFileContentAsBase64(path, callback) {
window.resolveLocalFileSystemURL(path, gotFile, fail);
function fail(e) {
alert('Cannot found requested file');
}
function gotFile(fileEntry) {
fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function (e) {
var content = this.result;
var array = new Uint8Array(content);
var binaryString = String.fromCharCode.apply(null, array);
callback(content);
}
reader.readAsArrayBuffer(file);
});
}
}
答案 0 :(得分:0)
我通过将文件转换为binaryString来克服这个问题,然后我从服务器端调用云函数来进行转换和保存文件。谢谢大家的帮助!〜