通过 REST Api 下载 CSV

Posted

技术标签:

【中文标题】通过 REST Api 下载 CSV【英文标题】:Download CSV through REST Api 【发布时间】:2020-01-21 14:03:13 【问题描述】:

我必须从 REST Api 下载 CSV。 我正在通过我的服务进行 Http 获取请求

user.service.ts

  public downloadCsv(target: string): Observable<any> 
    return this.http.get<any>(
      this.api.getUrl(environment.api.endpoints.download).replace('target', target)
    ).pipe(
      catchError(this.api.handleError)
    );
  

并在我的组件中订阅 observable

customer-list.component.ts

  downloadCsv() 
    this.userService.downloadCsv('users_ub').subscribe(
      (response) => 

      
    );
  

我收到一个错误

VM73806 vendor.js:56089 ERROR Error Code: 200
Message: Http failure during parsing for http://localhost:90/api/download/csv/users_ub.csv

在 chrome 开发工具中请求数据(角度)

从我的 api 文档中请求数据

【问题讨论】:

【参考方案1】:

使用 responseType: 'blob'

this.http.get<any>(url, responseType: 'blob' )

【讨论】:

以上是关于通过 REST Api 下载 CSV的主要内容,如果未能解决你的问题,请参考以下文章

使用 rest api 下载现有的贝宝付款

通过 POST 将 CSV 数据发送到 BigQuery REST API

通过Google Drive REST API上传或创建包含内容的新文件?

如何从 Google Drive 上传和下载文件(使用 Rest Api v3)

如何使用 jQuery Ajax 调用从 ASP.NET Web Api 下载 CSV 文件

通过对用户进行身份验证,使用 Django REST 框架下载文件