麻烦从PHP下载pdf并使用AngularJS获取它

时间:2016-10-01 18:06:48

标签: javascript php angularjs pdf

我希望你好!

我有一个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脚本生成)后,我看到一些我无法读取的字符(字面意思是,我无法读取) )

The file displayed in the left side is the downloaded by JS (the one that is NOT working); the right, the downloaded by the backend (the one that is working)

所以,我的问题是,如何使用不同的编码下载文件?并且,这是编码此文件以避免字符丢失的更好方法吗?

0 个答案:

没有答案