我不想使用jQuery,但我想使用Ajax来进行文件上传.那可能吗?
如果是这样,我在哪里可以找到相关的信息/教程?
不,用javascript无法做到这一点.
但是,为了给出"AJAX"感觉,您可以将表单提交给隐藏的iframe并将脚本结果输出到该表单,然后从那里进行处理.谷歌ajax iframe upload
并从那里开始.
如果您正在使用jQuery, Form plugin
那么如果您的表单中包含任何文件字段,还会自动为您创建此iframe.我没有用它来做这件事,但我听说过好事.
正如评论中指出的那样,你也可以使用非常流行的东西SWFUpload
来实现Flash所需的效果.
任何人都会在很久之后发现这个问题:是的,现在可以使用JavaScript.
HTML5定义了两个新的API,您可以一起使用它们来完成此任务:拖放API和文件API.您可以使用jQuery与API进行交互,有效地让人们拖放文件进行上传.
这是一个如何做到这一点的教程.
该代码目前适用于Chrome 6+和Firefox 3.6 +,Safari 6和IE 10.如果您需要Safari 5支持,代码几乎完全相同,但您使用FormData对象代替上传的文件列表(更多信息,请参阅后).
Opera从11开始支持File API,但不支持DnD API,drop操作不会启动上传,但它们支持您使用API访问该文件.我想在12年他们将完成对DnD API的支持.
01-20-14更新:所有主流浏览器现在都实现了所有标准API,因此本教程适用于所有浏览器.