2011-05-06 65 views
4

我需要用户在不离开当前网页的情况下上传文件(主要是图片)。什么是最好的工具,库或机制来做到这一点?我正在使用最新的jQuery和Spring webmvc(带有JSP),所以如果他们已经有了一个机制,那么这是理想的。Javascript文件上传机制

拥有某种进度条也很棒。这是否意味着它需要与服务器进行协调以读取进度(Spring必须发挥作用)?或者JavaScript中有这样的机制吗?

回答

1

您应该检出Plupload

Plupload提供了一个跨浏览器的 JavaScript文件上传的API, 处理多个文件上传, 客户端进展米,型 过滤,甚至客户端图像 大小调整和拖动和拖放从 桌面。它通过 为Flash提供后端, Silverlight,Google Gears,HTML5和 Browserplus并选择最多 有效选项来实现所有这一切。

它真的很整齐!这里有一个链接到他们的一些演示的...

http://www.plupload.com/example_jquery_ui.php

...和jQuery UI的队列窗口小部件的屏幕截图(它有一个进度条!):

jQuery UI queue widget

我希望这有帮助。
斯托伊奇

+0

这就是我正在寻找的东西。从某种意义上说,它似乎是一个独立的上传文件的机制。因此,例如,我无法使用表单中的描述和标记等字段。这实际上非常重要,所以我需要弄清楚如何实现这样的事情。伟大的,我不需要涉及春天,仍然得到一个进度条!我喜欢他们如何尝试提供最佳的浏览器体验。 – 2011-05-07 01:32:24

+0

@at ...既然你接受了我的回答,我假设你很高兴:)为什么这种“确切地说”是你想要的?这是种类还是你想要的? – Hristo 2011-05-07 01:35:25

+0

我有其他的表单字段,如描述和标签,需要与上传一起发送,现在查看了更多的演示和文档后,它看起来像我可以使用plupload的自定义机制来完成此操作。 – 2011-05-07 02:17:05

0

Uploadify没有那个把戏>http://www.uploadify.com/ 所有的样本都是php,但你应该可以将它转换为你的平台。

+0

回应了其他uploadify答案,约uploadify相比plupload不是疯了.. – 2011-05-07 02:19:57

1

我很经常使用uploadify:http://www.uploadify.com/

但是它并使用闪光灯的上传机制,因此可能会造成一些问题,如果用户进行身份验证。

+0

好像在论坛里大量的用户问题,而不是疯了(虽然不是一个因素在于)大约需要闪光灯。我必须在文件上传的同时也有常规的表单字段,不知道使用flash机制有多棘手。 – 2011-05-07 02:18:12

+0

是的,它很容易实现,但有一定的局限性。我一直在寻找plupload(hristo的文章),以及为我正在开发的项目创建简化的自定义实现的可能性。 – kroehre 2011-05-09 15:45:51

1

你应该在客户端

http://www.webtoolkit.info/ajax-file-upload.html本教程涵盖了所有客户端使用AJAX。

嗡服务器端 这tutorlal涵盖了大部分这个问题的:

http://www.ioncannon.net/programming/975/spring-3-file-upload-example/

Yopu可以使用jQuery以及或任何其他JS框架。

但雾重要的是事实你需要记住你的标签在客户端应该有。

enctype='multipart/form-data' 

property。这意味着您的请求包含多部分数据。

+0

我知道如何在Spring中定期上传文件,而不是ajax机制(我猜在上面的webtoolkit示例中只是常规上传)。但是这并不能给我一个进度条或其他好东西,比如文件大小和多个选择,就像其他答案提供的那样。 – 2011-05-07 02:19:32