使用AngularJS下载PDF

时间:2015-09-21 19:25:48

标签: ruby-on-rails angularjs filesaver.js

我需要使用AngularJS下载文件。我有Ruby on Rails个申请。

当用户点击PDF链接时,我会向服务器发送请求,并向JasperReports Server发送另一个PDF [object Object]请求。

一切正常,但我无法读取文件,只返回$http.get('/my/api/path/' + object.id + '/pdf').then(function (data) { var hiddenElement = document.createElement('a'); hiddenElement.href = 'data:attachment/pdf,' + encodeURI(data.data); hiddenElement.target = '_blank'; hiddenElement.download = 'test.pdf'; hiddenElement.click(); }, function () { });

服务器返回:

enter image description here

这就是我正在读的这个文件:

AngularJS

我缺少什么?

PS:没有//fallback animation here @media (-webkit-min-device-pixel-ratio: 0) { // webkit animation here } 完美无缺。

2 个答案:

答案 0 :(得分:3)

我相信当使用Resource任何返回的数据时,无论定义的类型如何,都会以某种方式转换为对象。记录data,我认为您找到一个对象,其中每个键都是一个int (0 .. n),每个值都是一个字符。因此,如果回复Hello World,您的回复看起来就像{0: 'H', 1: 'e', 2: 'l', 3: 'l', 4: ' ', 5: 'W', 6: 'o', 7: 'r', 8: 'l', 9: 'd'}

请尝试使用$http。这不会在任何特殊庄园中处理响应。

答案 1 :(得分:2)

尝试按照this post的解决方案。 $http.get未正确处理二进制数据。

相关问题