如何在 Angular 2 TypeScript 中下载文件

k m*_*k m 5 angular

我想下载一个由 API 服务创建的文件php7。当我从 API 服务接收服务输出时,该文件不会下载。但是,如果我在浏览器的开发人员工具中看到服务输出,那么它是正确的。我的应用程序出了什么问题?

为了获取 Angular 中的 API 服务,我使用 Angular2 的 HttpClient 和 get 方法。订阅后http服务结果不为空但不下载文件。如何在 angular2 中使用流下载?

downloadAttachment(filename: string){
   return this.http.get( this.url +"/"+ filename)
            .catch(this.handleError);
}
Run Code Online (Sandbox Code Playgroud)

ham*_*bab 2

您可以使用 npm 中存在的 FileSave 包:

npm install --save file-saver
..
import { saveAs } from 'file-saver/FileSaver';
Run Code Online (Sandbox Code Playgroud)

然后在获得结果后订阅的方法中使用如下所示

saveAs(result, filename);
Run Code Online (Sandbox Code Playgroud)