通过AngularJS承诺下载文件

时间:2015-04-02 15:04:10

标签: javascript angularjs download promise

我在AngularJS中写了一个ExportService.js,它向远程服务提交HTTP POST请求以下载数据。当从远程服务返回数据时,我正在努力让浏览器下载已解决的promise(数据)。例如,我的代码基本上如下:

ExportService.requestData(); //this returns a promise object.

在我的控制器中,下面的代码会等待解决/失败的承诺。

ExportService.requestData().then(function(data) {
   //how to process the data for download here?
    $log.info(JSON.stringify(data)); //print out the data

   }).catch(function(err) {
     //handle error here
  }).finally(function(complete){
     //complete the request here
  });

基本上,我认为如何将数据流转换为文件并让它在浏览器中下载。

1 个答案:

答案 0 :(得分:0)

ExportService.requestData().then(function(result) {
    var fileURL = URL.createObjectURL(result.data);
    window.open(fileURL, '_blank', ''); 
});