【问题标题】:Submit an <input type="file" /> using jQuery $.post使用 jQuery $.post 提交 <input type="file" />
【发布时间】:2011-09-06 01:16:51
【问题描述】:

我有一个&lt;div/&gt; 标签,其中包含一个文件上传&lt;input id="file" type="file"/&gt; 标签。我想使用$.ajax() 或$.post() 将input 标记的内容发布到php 页面,但是如何获取input 类型为"file" 的标记的内容?所以我可以使用 jQuery ajax 函数提交它?

注意:我的代码还没有&lt;form/&gt; 标签。我不确定它是否强制上传文件。 我还看到了一些使用&lt;iframe&gt; 的解决方法,我想知道是否可以这样做。

我不想使用任何插件来做到这一点。

【问题讨论】:

  • 这可以通过&lt;iframe&gt; / java applet / flash来完成

标签: php jquery file-upload


【解决方案1】:

字节流不能成为异步请求的一部分。

换句话说,您不能使用 AJAX 方法发送数据。

【讨论】:

  • 是的。我已经回答了这个问题,因为他正在考虑使用 jQuery $.ajax 或任何其他使用 AJAX 的方法。
  • @MatíasFidemraizer:这不是真的。您可以使用 event.dataTransfer.files 使用“drop”事件侦听器(例如在 div 上)捕获数据,然后使用 var fd = new FormData(); fd.append("fileToUpload", fileList[i]); 创建新的 FormData,创建新的 XMLHTTPRequest 并发送数据:request.send(fd);。
  • @Julian 我猜你说的是 HTML5。随意编辑我的答案添加此信息,我会为你批准编辑。
【解决方案2】:

您无法通过 $.post 发送文件... 您可以使用此链接通过 ajax 上传文件。 http://www.uploadify.com/demos/

【讨论】:

  • 在 SO 上不首选直接链接到外部站点。您应该先提供一些内容,然后再参考。
猜你喜欢
  • 1970-01-01
  • 2010-11-05
  • 1970-01-01
  • 1970-01-01
  • 2012-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-30
相关资源
最近更新 更多