如何下载由发送到REST API的请求返回的csv文件

时间:2017-10-24 18:35:40

标签: angularjs csv download postman

修改

html文件:

<button data-ng-click="$ctrl.toCSV()">ToCSV</button>
控制器中的

代码:

$scope.toCSV = function () {
   var sampleJson = {"key1": ["val1", "val2"], "key2": "valKey2", "key3": "valKey3"};
   // the service forms and returns the url string
   var url = vm.originUrl + sampleService.getCSVDetails(id, false, "csv").url;
   var form = $('<form action="' + url + '" method="post" style="display:none;">' +
            '<input type="text/json" name="jsonData" value="' + sampleJson + '" />' + '</form>');
        $('body').append(form);
        form.submit();
    };

我无法理解我哪里出错了,我检查了很多解决方案。当我使用邮递员传递相同信息时,我得到的回应是:

cache-control →no-store, no-cache=set-cookie
content-disposition →attachment; filename=SampleDetails.csv
content-encoding →gzip
content-language →en-US
content-length →767
content-type →application/octet-stream
date →Wed, 25 Oct 2017 15:13:51 GMT
expires →Thu, 01 Dec 1994 16:00:00 GMT
pragma →no-cache
x-frame-options →SAMEORIGIN
x-powered-by →Servlet/3.1

我只是不确定如何进行设置,以便在点击文字&#39; ToCSV&#39;时将其下载到浏览器中。现在它只是打开一个新的空白页而不是下载,虽然在邮递员我能够获得该文件的内容。

如何捆绑json数据并通过post方法点击URL?

谢谢!

1 个答案:

答案 0 :(得分:1)

我使用file-saver下载我的pdf文件。

traidij

,服务看起来像这样:

jth

PS:由于一些缩小问题,我们不得不把图书馆放在一个服务中。