我正在使用带有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
答案 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应用中使用此功能