Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从PHP下载pdf并使用AngularJS获取时遇到问题_Javascript_Php_Angularjs_Pdf - Fatal编程技术网

Javascript 从PHP下载pdf并使用AngularJS获取时遇到问题

Javascript 从PHP下载pdf并使用AngularJS获取时遇到问题,javascript,php,angularjs,pdf,Javascript,Php,Angularjs,Pdf,我希望你很好 我有一个REST-API和PHP(FlightPHP作为框架)在一台服务器上运行,我想下载保存在服务器上的PDF。但我在这方面遇到了麻烦 下载PDF时需要调用的API资源如下: GET /sales/:id/download 如果我在浏览器中运行上面提到的资源,它将下载一个PDF文件,并显示下载的PDF文件 现在,在前端(即在我的浏览器中运行的web应用程序),我有以下代码: $scope.download = (function (id) { $http.get($ro

我希望你很好

我有一个REST-API和PHP(FlightPHP作为框架)在一台服务器上运行,我想下载保存在服务器上的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脚本生成的)后,我会看到一些我看不懂的字符(字面上说,我看不懂)

所以,我的问题是,如何使用不同的编码下载文件?为了避免丢失字符,对该文件进行编码的更好方法是什么