如何在pdfjs的getDocument()请求中添加自定义标头

时间:2018-04-11 05:18:20

标签: get http-headers pdfjs

尝试将自定义标头添加到pdfjs getDocument请求中。

根据GitHub建议尝试添加它。

即使正在显示调试它,但我不确定它为什么不起作用。

以下是我的js代码

var parameter = {
  url: this.url,
  httpHeaders: { Authorization: `password` },
  withCredentials: true,
} 
var loadingTask = pdfjsLib.getDocument(parameters);

这是我的Chrome网络请求

enter image description here

1 个答案:

答案 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;
  ...
}