$scope.downloadPDF = function (docId) {
//Need the code to add the authorisation header before transfer
var pdfURL = $rootScope.genericApiurl + 'servicetype/pdfDocument?docId=' + docId;
$window.location.href = pdfURL;
}
尝试设置$ http.defaults.headers.common ['授权'] ='基本'+ authdata;但没有工作。
答案 0 :(得分:0)
当您使用var lineSpace = $("#lineSpace").val();
时,浏览器将发出HTTP请求,而不是您的代码。因此,您无法为其添加身份验证标头。
我建议你改用参数alert()
。
还有另一个建议(更安全):
您可以为每个PDF文件生成一个包含过期时间和一些信息的下载令牌,该令牌将被加密。在服务器端(您的api),您将获得令牌然后您可以解密它并检查此令牌是有效还是无效。如果它有效,您将从api返回FileContent类型。
E.g。 yourdomain.com/api/document/aaa-bbb-ccc/download/xxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyyy YYYYYYY
使用:
xxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyy
答案 1 :(得分:0)
试用以下代码段
$http({method: 'GET', url: 'www.google.com/someapi', headers: {
'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='}
});