我希望你好!
我有一个REST-API,PHP(Flight-PHP as framework)在一台服务器上运行,我想下载保存在服务器中的PDF。但是我遇到了麻烦。
需要调用以下载PDF的API资源如下:
GET /sales/:id/download
如果我在浏览器中运行上述资源,它将下载一个PDF文件,它将显示下载的PDF没有问题。
现在,在前端(例如,在浏览器中运行的Web应用程序)中,我有以下代码:
$scope.download = (function (id) {
$http.get($rootScope.api_url + 'sales/' + id + '/download')
.then(function (response) {
var resp = response.data;
var blob = new Blob([resp], {type : 'application/pdf'});
saveAs(blob, folio + ".pdf"); //yup, I'm using SaveAs.js
}, function (reason) {
alert("The file weren't downloaded");
});
});
上面提到的代码下载了一个pdf文件......但它是白色的!
因此,打开两个PDF(一个从后端生成,另一个从js脚本生成)后,我看到一些我无法读取的字符(字面意思是,我无法读取) )
所以,我的问题是,如何使用不同的编码下载文件?并且,这是编码此文件以避免字符丢失的更好方法吗?