【问题标题】:How to get file data from url in javascript [duplicate]如何从javascript中的url获取文件数据[重复]
【发布时间】:2017-09-14 05:25:02
【问题描述】:

假设我有一个 pdf 文件的 Google url,是否有 javascript 来获取文件的数据并通过 ajax (json) 发送它?

这个问题不是关于 AJAX,而是从通过检索的文件中获取数据。一条链接。链接如下所示。

我将更详细地解释:我计划构建一个 chrome 扩展程序,单击 google 结果链接(例如 pdf 文件)将获取链接的数据(pdf 文件数据)。

如果可能,我如何在 javascript 中执行此操作?

【问题讨论】:

  • “这个问题与 AJAX 无关”——是的。
  • "在链接中获取可下载文件的数据" — 该链接描述了使用 HTTP 从何处获取数据。要使用 HTTP 获取数据,您必须发出 HTTP 请求。你想用 JavaScript 来做。 “使用 JavaScript 发出 HTTP 请求”就是 AJAX 的意思。
  • 你说得对,我问是因为我不知道,谢谢你的澄清。这个解释确实很有意义。

标签: javascript


【解决方案1】:

编辑:问题已被编辑,所以我必须更新我的答案。

我想“通过 AJAX 发送”是指通过 AJAX 发送标头来下载到客户端。

简短的回答是,不,你不能。

可以在此处找到解释。 Download a file by jQuery.Ajax

Bluish 在这点上是完全正确的,你不能通过 Ajax 做到这一点 因为 JavaScript 不能将文件直接保存到用户的计算机上 (出于安全考虑)。不幸的是指向主窗口的 文件下载中的 URL 意味着您几乎无法控制 用户体验是文件下载发生的时间。


您可以使用 FormData 对象通过 AJAX 发送文件。一个小小的 Google 会为您找到答案:

jQuery Ajax File Upload

查看上面链接中的第二个答案:

通过 ajax 上传文件不再需要 iframe。我有 最近自己做的。查看这些页面:

通过 AJAX 和 jQuery 使用 HTML5 文件上传

http://dev.w3.org/2006/webapi/FileAPI/#FileReader-interface

【讨论】:

  • 用于读取用户从文件输入中选择的本地文件。问题是询问如何使用 HTTP 从远程服务器获取数据。
  • @Quentin 感谢您指出,我还没有看到更新的问题。刚刚更正了我的答案。
猜你喜欢
  • 2017-10-12
  • 2019-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
相关资源
最近更新 更多