【问题标题】:Load a PDF document from remote server into base64 encoded data将 PDF 文档从远程服务器加载到 base64 编码数据中
【发布时间】:2023-04-03 14:07:02
【问题描述】:

是否有任何选项可用于从网站加载 PDF(例如 http://mywebsite.com/mydoc.pdf)并使用 javascript 将其读入 base64(或)二进制数据。由于跨域脚本限制,XHR(ajax)请求对我没有帮助。 HTML5 FileReader API 与用户文件 input 控件一起使用。我想不出任何其他选择。任何想法都非常感谢。谢谢。

【问题讨论】:

  • 服务器是你控制的吗?
  • 不幸的是我没有固定的服务器来控制。我的 HTML(仅限)应用程序假设从任何给定的 Web 链接加载 PDF

标签: javascript html xmlhttprequest cors filereader


【解决方案1】:

正如您所说,跨域限制会阻止您从其他域下载任何旧文件。有几种方法可以解决这个问题。

如果您从中下载的服务器支持 CORS 请求,那么您应该能够将文件作为二进制对象下载。如果您从您控制的服务器下载,则可以对其进行更新以支持 CORS 请求。

如果原始服务器上的 CORS 支持不是一个选项,那么您可以在服务器上创建一个代理来下载 PDF 并将其传递给客户端。将它托管在同一个域上,或者确保它支持来自您的域的 CORS 请求。

【讨论】:

  • 谢谢。不幸的是,我没有固定的服务器来控制。我的 HTML(仅限)应用程序假设从任何给定的 Web 链接加载 PDF。我在哪里可以找到有关此代理方法的更多详细信息/示例?
  • 纯客户端的唯一方法是使用不受相同安全策略约束的 Chrome 扩展程序之类的东西。或者您可以找到一些可以充当 CORS 代理的云服务。我用快速的谷歌找不到任何东西,但它可能是那种类型的东西。或者,您可以在 Heroku 等服务上免费托管一些东西。
  • 谢谢。这是有道理的。
猜你喜欢
  • 2016-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
  • 2020-10-28
  • 2018-06-07
  • 2018-06-23
相关资源
最近更新 更多