【发布时间】:2015-12-18 19:32:03
【问题描述】:
下面的代码包含一个超链接,当用户单击该链接时,该超链接会导致服务器上的 spring 生成的 pdf 加载到新的浏览器窗口中。问题是一些用户在他们的浏览器中阻止了弹出窗口。 当用户单击链接时,需要对以下代码进行哪些特定更改才能在同一浏览器窗口中打开 pdf? 请注意,此 pdf 是由 spring 控制器生成的。
这里是html:
<p><a ng-click="getPdf()">Show PDF</a></p>
这里是 Angular 控制器代码:
angular.module('message', ['auth']).controller('message', function($scope, $http, $sce, auth) {
$scope.authenticated = function() {
return auth.authenticated;
}
$scope.getPdf = function(){
$http.get('/api/some-pdfr', {responseType: 'arraybuffer'})
.success(function (data) {
var file = new Blob([data], {type: 'application/pdf'});
var fileURL = URL.createObjectURL(file);
window.open(fileURL);
});
}
});
【问题讨论】:
标签: javascript angularjs spring pdf