使用浏览器上传大文件而不挂起(最好使用闪存)

时间:2010-02-08 20:54:45

标签: java flash browser file-upload

我正在尝试将大量文件从浏览器上传到我完全可以控制的网络服务器。我试过使用SWFUpload,但问题是我上传文件时浏览器挂起。这些文件应该是任意长度的(当然,由于其他限制,最多可达2GB)。

在上传过程中,浏览器挂起并且GUI未更新。当文件最终上传时,GUI再次响应。在firefox中,整个浏览器都停止了,而在Chrome中只有标签。

我认为它可能与闪存尝试将整个文件首先注入内存有关,但事实并非如此(尽管不同的测试用例产生了不同的结果,但我不确定因为这个原因)。

虽然首选flash,但applet也是一种选择。我不想使用表单的原因是因为你可以在flash中选择多个(我也可以选择使用Java),这是我想要的一个很好的功能。

有什么想法吗?以为?

(数学| TOB)IAS

5 个答案:

答案 0 :(得分:1)

如果您使用的是Linux,这是一个已知问题。对于Windows用户,这不会发生。否则,你将不得不坚持使用ajax(最好的方法是使用jQuery表单插件)。 http://www.plupload.com/,这个看起来很有趣,但我没有调查过。你可能想尝试一下。

答案 1 :(得分:0)

尝试使用AJAX: http://sourceforge.net/projects/uber-uploader/

更轻松的资源和更多的平台无关。

答案 2 :(得分:0)

客户端我喜欢这个jquery插件:

http://valums.com/ajax-upload/

如果您需要服务器端处理的示例:

http://php.net/manual/en/features.file-upload.php

答案 3 :(得分:0)

我已经将它用于我的项目... http://jupload.sourceforge.net/我发现虽然我在FTP模式下使用它时有更好的结果。我有http上传的问题。它确实支持多个文件,这很好。您可以将文件上传到“传入目录”,然后在传输完成后再处理它们。

答案 4 :(得分:-1)

检查SWFUpload swfupload.org

关于这一点有一个震撼: http://swfupload.org/forum/generaldiscussion/173