角度接收响应文件供下载

时间:2014-11-26 08:15:29

标签: angularjs

我正在使用带有laravel的角度来生成一些pdf文件。我将一些值发布到服务器,服务器响应文件。现在如何从响应中下载文件。

我试过这种方法不起作用

控制器

Ecs.genSingleEcs(data).success(function(response){

    var file = new Blob([response], {type: 'application/pdf'});
    var fileURL = URL.createObjectURL(file);
    $scope.ecsurl = fileURL;
});

查看

<button class="btn btn-primary" ng-href="{{ ecsurl }}">Download</button>

响应对象

%PDF-1.3     3 0 obj     &LT;&GT;     endobj     4 0 obj     &LT;&GT;     流     x3R235W(R     Qw3T0430PISp        Z * [(HX +(j * d7W     endstream     endobj     1 0 obj     &LT;

  

&GT;       endobj       5 0 obj       &LT;       endobj       2 0 obj       &LT;&LT;       / ProcSet [/ PDF / Text / ImageB / ImageC / ImageI]       / Font&lt;&lt;       / F1 5 0 R   &GT;       / XObject&lt;&lt;   &GT;   &GT;       endobj       6 0 obj       &LT;&LT;       /制片人(FPDF 1.7)       / CreationDate(D:20141126070253)   &GT;       endobj       7 0 obj       &LT;&LT;       /类型/目录       / Pages 1 0 R   &GT;       endobj       外部参照       0 8       0000000000 65535 f       0000000228 00000       0000000416 00000       0000000009 00000       0000000087 00000       0000000315 00000       0000000520 00000       0000000595 00000       预告片       &LT;&LT;       /大小8       / Root 7 0 R       / Info 6 0 R   &GT;       startxref       644       %% EOF

1 个答案:

答案 0 :(得分:0)

我建议您使用: https://github.com/eligrey/FileSaver.js/

并将此行代码添加到您的代码中:

var file = new Blob([response], {type: 'application/pdf'});
var fileURL = URL.createObjectURL(file);
saveAs( blob, "myFileName.pdf");

我已在AngularJS应用中使用此功能