typescript 使用http.get()返回Blob类型时,Angular无法传递参数

yeotifhr  于 2023-01-18  发布在  TypeScript
关注(0)|答案(1)|浏览(232)

我的后台API是生成Excel的,但是当我在Angular里面设置参数传递的时候,在console里面传递参数就不行了......对于blob类型的请求怎么传递参数呢????

ExportMyTicket():Observable<Blob> {
    let params = new HttpParams();

    //Parameter passing failure;
    params.append('myParam', '111');

    return this.http.get<Blob>(`${this.exportExcelUrl}`,
    { params, responseType: 'blob' as 'json' })
  }

我试着在前端传递参数,但无论我如何设置参数,都无法传递......

ulmd4ohb

ulmd4ohb1#

来自HttpParams描述
此类是不可变的;所有的变异操作返回一个新的示例。
1.您应该使用从.append()返回的结果重新分配给params
1.从responseType: 'blob'卸下as: 'json'

ExportMyTicket():Observable<Blob> {
  let params = new HttpParams();

  //Parameter passing failure;
  params = params.append('myParam', '111');

  return this.http.get<Blob>(`${this.exportExcelUrl}`,
    { params: params, responseType: 'blob' })
}

相关问题