发送GET请求并将响应重定向到浏览器以下载文件

时间:2016-07-22 11:59:43

标签: javascript request

我有一个使用REST API服务器作为数据提供者的JavaScript应用程序。

API上有一种方法可以获取GET请求并返回包含电子邮件的原始响应(据我所知,存在某种.eml内容)。

我使用简单的xmlhttprequest。

问题是:我如何获取响应(文件内容)并将其委托给浏览器,以便浏览器可以开始下载过程?

可以用GET方法完成吗?

3 个答案:

答案 0 :(得分:1)

由于明显的安全问题,Javascript不支持在用户的计算机上下载和保存任意文件。

但是,有一些方法可以使用javascript间接触发下载。 One of those ways would be using an invisible iframe and setting the source to the path towards the file.

答案 1 :(得分:1)

您可能正在等待浏览器实施window.saveAs,另请参阅问题Using HTML5/Javascript to generate and save a file 您可以尝试多种snipets,例如https://github.com/eligrey/FileSaver.jshttps://gist.github.com/MrSwitch/3552985

答案 2 :(得分:0)

根据您的客户端运行方式,您可以使用本地存储。

存储商品

localStorage.setItem('NAME', DATA);

并检索

localStorage.getItem('NAME');

并删除

localStorage.removeItem('NAME');

然后设置回调或承诺渲染到html。如果您使用axios,可以使用promise https://github.com/mzabriskie/axios

进行设置