如何在没有硬编码文件名的情况下以 Angular 4 下载文件?
Posted
技术标签:
【中文标题】如何在没有硬编码文件名的情况下以 Angular 4 下载文件?【英文标题】:How to download a file in angular 4 without hard-coding file name? 【发布时间】:2018-11-18 10:33:30 【问题描述】:代码如下:
importedSaveAs(blob, 'somefile.txt');
在这种情况下,我对文件名进行了硬编码:我想知道如何使其动态化。我可以在响应标头中看到文件名,但无法在此处访问它。
【问题讨论】:
你能在变量中获取响应头吗? 我是 Angular 新手。所以我想知道如何做到这一点,因为这是我的要求。我在邮递员中看到了回复。我只得到一段硬编码的代码。 在下面查看我的答案,你可能会得到标题 【参考方案1】:首先调用API获取数据
this._http.get(requestURL) // you can do it in your own way
.toPromise()
.then(this.extractData);
获取数据后,将其传递给 extract 方法
private extractData(res: Response)
let name = res.headers()
importedSaveAs(blob, name);
现在,name 正在动态传递给您的自定义保存函数。
【讨论】:
我试试这个。以上是关于如何在没有硬编码文件名的情况下以 Angular 4 下载文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Angular 2 的同一服务中将一些硬编码数据与 API 一起使用?