Javascript 将文件转换为字节值数字数组

Javascript 将文件转换为字节值数字数组,javascript,arrays,angular,typescript,ionic2,Javascript,Arrays,Angular,Typescript,Ionic2,我有这个PDF文件,我需要把它转换成一个字节值数字数组 我以前曾将其转换为base64,但对于2MB PDF,将PDF转换为base64花费了很长时间。 是否有其他方法可以更快地将PDF转换为base64或将PDF文件转换为字节数组(以查看是否比转换为base64更快) 我以前使用filereader将文件读入dataURL。下面是我用来转换为base64的代码 getFileContentAsBase64(path, callback) { window.resolveLocalFileSy

我有这个PDF文件,我需要把它转换成一个字节值数字数组

我以前曾将其转换为base64,但对于2MB PDF,将PDF转换为base64花费了很长时间。 是否有其他方法可以更快地将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);
   });
 }

}

我通过将文件转换为binaryString来克服这个问题,然后从服务器端调用一个云函数来转换和保存文件。谢谢大家的帮助~

我通过将文件转换为binaryString来克服这个问题,然后从服务器端调用一个云函数来转换和保存文件。谢谢大家的帮助~

我想soln已经得到了回答。@Nirus我已经看到了这个解决方案,但是在我的案例中它似乎不起作用。我编辑了上面的问题,向大家展示了我的尝试。也许我转换背后的逻辑是错误的…@Lyon:在加载脚本时是否保持了这个序列
@Lyon在转换为base64或arraybuffer后,您想要实现什么?您的问题(编辑部分)中有什么不起作用?@ParthGhiya我将更改顺序并重试。给我一点时间。我想soln已经得到了回答。@Nirus我已经看到了这个解决方案,但是在我的案例中它似乎不起作用。我编辑了上面的问题,向大家展示了我的尝试。也许我转换背后的逻辑是错误的…@Lyon:在加载脚本时是否保持了这个序列
@Lyon在转换为base64或arraybuffer后,您想要实现什么?您的问题(编辑部分)中有什么不起作用?@ParthGhiya我将更改顺序并重试。给我一点时间。