首页 > 解决方案 > 在 Angular 5 中加载二进制文件

问题描述

我正在使用 Angular 5 将 flatbuffers 响应与我的 API 调用集成。我正在尝试使用 Angular 5 中的 HttpClient 加载二进制文件。

我试过下面的代码来获取 Uint8Array 中的字节数据。也尝试过使用 Blob,但它不起作用。

let apiUrl = "./assets/test.bin";
const headers = {
  headers: new HttpHeaders({responseType: "application/octet-stream"})
};

let data : Observable<Uint8Array> = this.http.get<Uint8Array>(apiUrl, headers);
data.subscribe( (response: Uint8Array) => {
  const data = response;
  // console.log(data); 
  console.log("successful");

  return data;
}, (error : HttpErrorResponse)=> {
  console.log(error.error.text);      
});

二进制文件

FBS 生成的 TS 文件

标签: angulartypescriptflatbuffers

解决方案


尝试类似:

let apiUrl = "./assets/test.bin";
const headers = {responseType: "blob"};

let data : Observable<Blob> = this.http.get<Blob>(apiUrl, headers);
data.subscribe( (response: Blob) => {
  const data = response;
  console.log(data); 
}, (error : HttpErrorResponse)=> {
  console.log(error.error.text);      
});

推荐阅读