当前位置:  开发笔记 > 编程语言 > 正文

是否可以使用Ajax进行文件上传?

如何解决《是否可以使用Ajax进行文件上传?》经验,为你挑选了2个好方法。

我不想使用jQuery,但我想使用Ajax来进行文件上传.那可能吗?

如果是这样,我在哪里可以找到相关的信息/教程?



1> Paolo Bergan..:

不,用javascript无法做到这一点.

但是,为了给出"AJAX"感觉,您可以将表单提交给隐藏的iframe并将脚本结果输出到该表单,然后从那里进行处理.谷歌ajax iframe upload并从那里开始.

如果您正在使用jQuery, Form plugin那么如果您的表单中包含任何文件字段,还会自动为您创建此iframe.我没有用它来做这件事,但我听说过好事.

正如评论中指出的那样,你也可以使用非常流行的东西SWFUpload来实现Flash所需的效果.



2> Riyad Kalla..:

任何人都会在很久之后发现这个问题:是的,现在可以使用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,因此本教程适用于所有浏览器.

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有