【问题标题】:Enable download of file from server angular启用从服务器角度下载文件
【发布时间】:2019-12-15 19:13:31
【问题描述】:

我已经找到了使用 blob 的 csv 文件的解决方案,但它似乎不适用于其他文件,我想下载该文件而不管其类型如何。我将在页面加载时获取文件的 url,但是使用 blob 来首选单击功能不起作用。

  CopyUrl(urls) {
    const a = document.createElement("a");
    document.body.appendChild(a);
    const blob: any = new Blob([urls], {
      type: "octet/stream"
    });
    const url = window.URL.createObjectURL(blob);
    a.href = url;
    const data = "test" + ".mp4";
    a.download = data;
    a.click();
    window.URL.revokeObjectURL(url);
    return blob;
  }
     <a class="dropdown-item"
                              (click)="CopyUrl(mediaFiles.data[activeFileIndex].mediaFileResponse.sourceUrl)">Copy Url


                            </a>

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript angular file download


    【解决方案1】:

    您可以使用file-saver。从后端以字节流的形式发送响应,然后在按钮 Click 上发出以下请求

     this.http.get(url,{ responseType: 'blob' }).subscribe((respBlob: any) => {
        saveAs(respBlob, `file.pdf`)
     });
    

    【讨论】:

    • 如果类型是动态的,比如不是一种类型(比如pdf),它会起作用
    • 是...任何文件类型
    猜你喜欢
    • 2016-03-29
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 2015-10-16
    • 2021-09-28
    相关资源
    最近更新 更多