Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否将arraybuffer转换为fiileList?_Javascript_Angular_Typescript_Blob_Arraybuffer - Fatal编程技术网

Javascript 是否将arraybuffer转换为fiileList?

Javascript 是否将arraybuffer转换为fiileList?,javascript,angular,typescript,blob,arraybuffer,Javascript,Angular,Typescript,Blob,Arraybuffer,我收到来自API的arraybuffer对附加PDF文档的响应,我想在编辑模式下预览PDF文档,并发送与文件列表相同的PDF(例如,当我们使用上载时如何获取文件列表对象)。我已成功地将数组缓冲区转换为blob和预览,但无法形成文件列表将其发送回api arrayBufferToBase64(buffer) { let binary = ''; const bytes = new Uint8Array(buffer); const len = bytes.byteLengt

我收到来自API的arraybuffer对附加PDF文档的响应,我想在编辑模式下预览PDF文档,并发送与文件列表相同的PDF(例如,当我们使用上载时如何获取文件列表对象)。我已成功地将数组缓冲区转换为blob和预览,但无法形成文件列表将其发送回api

arrayBufferToBase64(buffer) {
    let binary = '';
    const bytes = new Uint8Array(buffer);
    const len = bytes.byteLength;
    for (let i = 0; i < len; i++) {
      binary += String.fromCharCode(bytes[i]);
    }
    const file = window.btoa(binary);
    const byteCharacters = atob(file);
    const byteArrays = [];
    for (let offset = 0; offset < byteCharacters.length; offset += 512) {
      const slice = byteCharacters.slice(offset, offset + 512),
        byteNumbers = new Array(slice.length);
      for (let i = 0; i < slice.length; i++) {
        byteNumbers[i] = slice.charCodeAt(i);
      }
      const byteArray = new Uint8Array(byteNumbers);
      byteArrays.push(byteArray);
    }
    const blob = new Blob(byteArrays, { type: 'application/pdf' });
    const objectURL = URL.createObjectURL(blob);
    this.pdfUrl = this.sanitizer.bypassSecurityTrustResourceUrl(objectURL);
}
File {
lastModified: 1573560008286
lastModifiedDate: Tue Nov 12 2019 17:30:08 GMT+0530 (India Standard Time) {}
name: "bill.pdf"
size: 67599
type: "application/pdf"
webkitRelativePath: ""
}