我找到了几篇关于这个主题的文章,但没有一篇能帮助我达到我设法用 Angular 下载 pdf 文件的程度。
所以背景是,用户单击按钮,将一些数据发送到我的 php 脚本,该脚本创建一个 pdf 文件。完成此操作后,应立即开始下载文件。
用户点击此:
<button class="btn pull-right" ng-click="printList(products)">Create list</button>
然后我有这个功能:
app.controller('Delivery', function($scope, $routeParams, Products, List) {
$scope.printList = function ($products) {
List.save({
'products': $products,
'selectedDate': $scope.state.dates.start
}, function () {
});
};
});
还有工厂:
app.factory('List', function($resource) {
return $resource('/backend/FpDashboard/listApi');
});
在 PHP 中,我有在服务器上创建 pdf 文件的操作,但是如何管理 List.save 的回调以开始文件下载?
谢谢!
最佳答案
我的项目中也有相同的功能,这是我用来将数据下载为 PDF 的代码。
downloadAsPdf.getfile(data)
.success(function(data) {
data.fileName = decodeURIComponent(data.fileName);
if(isSafariOrIE){
windowReference.location = data.fileName;
} else {
var save = document.createElement('a');
save.href = data.fileName;
save.target = '_blank';
save.download = data.fileName || 'unknown';
var evt = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': false
});
save.dispatchEvent(evt);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
}
})
关于javascript - AngularJS - 触发器生成后下载 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42909217/