【问题标题】:Load Binary file in Angular 5在 Angular 5 中加载二进制文件
【发布时间】:2018-05-16 18:58:38
【问题描述】:

我正在使用 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);      
});

Binary file

FBS Generated TS file

【问题讨论】:

    标签: angular typescript flatbuffers


    【解决方案1】:

    尝试类似:

    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);      
    });
    

    【讨论】:

    • 试过但没用.. 得到这个错误:“localhost:4201/assets/test.bin 解析过程中的 Http 失败”。
    • 在这里同意同样的问题。这是试图将其解析为 JSON。
    猜你喜欢
    • 2021-12-13
    • 1970-01-01
    • 2021-01-13
    • 2017-11-11
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多