使用JSP和JavaScript实现异步文件上传(AJAX文件上传)

10

我计划使用异步文件上传。也就是说,文件应该上传到 jsp 或 servlet 并在不重新加载原始页面的情况下返回一些内容到 html/jsp 页面上。它应该像 AJAX 调用一样发生。是否有任何方法可以在 AJAX 中做到这一点或者其他方法可以实现。

3个回答

2
两种常见的方法是将表单提交到一个不可见的iframe,或者使用Flash控件,例如YUI Uploader。您也可以使用Java而不是Flash,但这样做的安装基础较窄。
(第一个示例中的布局表格很遗憾)

2
这个答案不是今天的做法。Iframes、Java、Flash都不是Web标准。 - pjotr_dolphin
1
@pjotr_dolphin — 这里没有一个答案是如何在今天做到的。这个问题是十年前的。 - Quentin
当然,这就是我为什么会给它点踩并留下评论的原因。 - pjotr_dolphin

0
最新的dwr(http://directwebremoting.org/dwr/index.html)具有ajax文件上传功能,包括示例和用户友好的功能(如进度指示器等)。
它看起来非常不错,而且dwr通常很容易使用,所以这也会非常好。

我不知道 - 只编写过用于Web服务器的Java WAR文件。 - laura

-11

我不相信AJAX可以处理文件上传,但是可以通过利用Flash的库来实现。Flash实现的另一个优点是能够同时处理多个文件(就像Gmail一样)。

SWFUpload是一个很好的开始:http://www.swfupload.org/documentation

jQuery和其他一些库有插件可以利用SWFUpload。在我的上一个项目中,我们使用了SWFUpload和Java,没有出现问题。

此外,值得一提并且值得研究的是Apache的FileUpload:http://commons.apache.org/fileupload/index.html


确实可以在没有Flash的情况下进行异步文件上传,例如Gmail。 - DanM
2
如果我没记错的话,Gmail 也使用了 Flash。 - doomspork
13
来自未来的提醒:由于移动电话的普及,Flash 几乎不存在了。请参阅此答案:https://dev59.com/1nE95IYBdhLWcg3watM3 - hitautodestruct

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接