尝试将自定义标头添加到pdfjs getDocument请求中。
根据GitHub建议尝试添加它。
即使正在显示调试它,但我不确定它为什么不起作用。
以下是我的js代码
var parameter = {
url: this.url,
httpHeaders: { Authorization: `password` },
withCredentials: true,
}
var loadingTask = pdfjsLib.getDocument(parameters);
这是我的Chrome网络请求
答案 0 :(得分:0)
我相信问题正在发生,因为您错误地定义了授权标头。您必须定义要使用的授权类型,而不是输入密码。例如,假设您使用的是基本授权,那么授权标头应为:
{
Authorization: 'BASIC <BASE64 ENCODED OF USERNAME:PASSWORD>'
}
如果正确使用它,请尝试验证您的版本(PDFJS)是否已经具有解决该问题的补丁。只需转到pdf.worker.js并验证对象 NetworkManager 。验证是否已定义 httpHeaders 和 withCredentials 属性。像这样:
function NetworkManager(url, args) {
this.url = url;
args = args || {};
this.isHttp = /^https?:/i.test(url);
this.httpHeaders = (this.isHttp && args.httpHeaders) || {};
this.withCredentials = args.withCredentials || false;
...
}