如何在没有硬编码文件名的情况下以 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 下载文件?的主要内容,如果未能解决你的问题,请参考以下文章

在没有bom的情况下以utf-8保存文件

如何在 Angular 2 的同一服务中将一些硬编码数据与 API 一起使用?

如何在不编码窗口状态的情况下以编程方式终止 NSApp?

如何在没有硬编码的情况下使用多个不和谐机器人帐户登录?

如何在没有硬编码 NetworkCredentials 的情况下使用 System.Net.Mail?

如何在没有 XIB 文件的情况下以编程方式更新 Xcode 中的 UILabel?