2009-12-30 51 views
2

我读过很多文章等,试图解释为什么一个文件(例如附件等)无法通​​过AJAX上传(至少在场景后面没有一些“技巧”)。任何人都可以解释为什么文件不能使用AJAX上传?

任何人都可以解释清楚和简单,AJAX这个'功能'的技术原因?

+1

Fie API(http://www.w3.org/TR/FileAPI/)将解决这个问题,firefox 3.6确实支持它(例如:http://hacks.mozilla.org/2009/12/uploading-files -with-xmlhttprequest /) – Arjan 2009-12-30 10:07:25

回答

8

他们可以。它是XMLHttpRequest,不能用于上传文件。 (但Ajax比XHR更多)

这是因为,出于安全原因,JavaScript无法从文件系统读取,因此无法将文件交给XHR。

+0

你能举一个例子说明你的意思吗? (即,演示如何使用您提到的“扩展AJAX”来加载文件的片段 – 2009-12-30 09:58:16

+0

将表单提交到隐藏的iframe。 – Quentin 2009-12-30 10:31:52

4

出于安全原因,现代浏览器不允许Javascript访问查看器计算机上的文件。

0

文件上传通过一个名为multipart/form-data的标准执行。 Javascript没有办法读取客户端计算机上的文件内容。

0

只是因为JavaScript无法访问文件系统...出于明显的安全原因。

相关问题