如何从api保存文件

时间:2019-04-05 18:35:02

标签: angular api file downloading

我是angular的新手,我需要知道如何在用户计算机上从我的API保存文件。在我的API中,我在/ download / chapter / {id}上具有带有downloadChapter方法的DownloadController。当我从Chrome调用此方法时,我的计算机刚刚开始下载章节文件-可以。当我从angular的DownloadService形式调用此方法时,在控制台中出现错误:ERROR OK。

我的下载章节方法:

  downloadChapter(id: number): Observable<Blob> {
    return this.http
      .get<Blob>(`${this.basicPath}/chapter/${id}`)
      .pipe(
        tap((res) => {
            console.log(`response: ${res}`);
          },
          (e) => {
            console.log(`error: ${e} - ???`);
          }, () => {
            console.log('win!');
          }),
      );
  }

在API响应中:

  

200 OK OK,URL   [文件:/ Users / lukasz / Workspace / Inz / api / booky / uploads / 1/6:Solaris%20-%20Maly%20Apokryf.mp3],[Content-Disposition:“附件;文件名= 6:Solaris%20- %20Maly%20Apokryf.mp3“,内容类型:” audio / mpeg“,内容长度:” 97857000“]

如何解决?我只想将文件保存在用户计算机上。

1 个答案:

答案 0 :(得分:0)

这是从一个宁静的api下载文件的一个有角度的6示例:

安装文件保护程序: set xrange[-2:2] set yrange[-2:2] set zrange[-2:2] set view 45,45 Offset(n,axis,i) = real(word($Off[n+1],axis+1))*sin(2*pi*i/max) # Loop forever # but allow an explicit end condition triggered by a hot key done = 0 bind "d" "done = 1" while (!done) { do for [i=0:10] { splot $Data u ($2+Offset($0,1,i)):($3+Offset($0,2,i)):($4+Offset($0,3,i)) \ w lp pt 7 ps 2 lw 2 lc rgb "red" not pause 0.1 } }

npm install file-saver --save