【问题标题】:Angular/Javasript: download an existing csv file from serverAngular/Javasript:从服务器下载现有的 csv 文件
【发布时间】:2019-10-25 14:05:27
【问题描述】:

我想允许访问者使用 Angular 7 从服务器下载 CSV 文件。

我见过很少的网站,但大多数网站都解释说从数据动态创建 CSV 文件并使用 blob 创建而不是下载文件夹。但我在服务器上已经有 CSV 文件,想从服务器端下载到客户端。

【问题讨论】:

  • 只需发出 AJAX 请求...
  • 谢谢 Daniel。你有什么例子吗?

标签: javascript angular download


【解决方案1】:

要保存文件,您可以使用 file-saver 之类的包:

npm install file-saver --save
import { saveAs } from 'file-saver/FileSaver';

你的函数可以是这样的:

downloadCSV(data: any) {
    const blobData = new Blob([data], { type: 'text/csv' });
    const url = window.URL.createObjectURL(blobData);
    saveAs(blobData, "file_name.csv");
    return window.open(url);
}

要下载文件,请使用 arraybuffer::

getFile() {
    this.httpClient.get(url, {responseType: 'arraybuffer',headers:headers})
    .subscribe(
        (data) => this.downloadCSV(data), 
        (error) => // Handle error)
    );
}

【讨论】:

  • 似乎问题出在下载文件 this.http.get... 我有 3 个不同的文件,其中两个下载正常,第三个不是。 (未知 url)的 Http 失败响应:0 未知错误”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
  • 2014-01-21
  • 2018-11-13
  • 2018-02-09
相关资源
最近更新 更多