我正在开发一个需要使用pdf.js阅读pdf的网络应用程序。我的页面上有一个文件输入选择文件。我有document.getElementById("...").value
作为pdf的网址。当我运行它时,它说:
“XMLHttpRequest无法加载c:\ fakepath \ vocab_list_15_8th_grade.pdf。只有协议方案支持交叉源请求:http,数据,chrome,chrome-extension,https,chrome-extension-resource。 敬畏:1未处理的承诺拒绝承诺{[[PromiseStatus]]:“拒绝”,[[PromiseValue]]:UnknownErrorException}“
我想这是因为文件存储在本地。我该如何解决这个错误?
答案 0 :(得分:2)
这与pdf.js本身并没有任何关系。 pdf.js恰好正在尝试使用XMLHttpRequest加载文件。
问题是你给了pdf.js一个本地文件(c:\fakepath\vocab_list_15_8th_grade.pdf
)的路径。出于安全原因,您的Web浏览器不会让网页加载本地文件,即使该网页也是本地的。解决这个问题的方法就是在本地运行包含Web应用程序和PDF的Web服务器。
如果你安装了Python,你可以通过运行来轻松地完成这项工作:
$ python -m SimpleHTTPServer
...来自您要提供的目录。
但它看起来像你在Windows上(从您路径中的C:\
判断)。我不知道在没有安装Python的情况下在Windows上运行简单Web服务器的最简单方法。