我一直在使用上传器,用户可以选择多个文件。
当文件在队列中上传时(一次一个),它可以正常工作,但是一旦我尝试让它一次上传2个文件,我就会遇到问题。
文件似乎经常会被锁定,并且在上传所有其他文件之前保持1%,或者根本不完整。一次上传的文件永远不会超过一个。
在Flex中同时在多个文件上调用.upload会出现问题吗?
答案 0 :(得分:2)
不幸的是,每个主机的浏览器限制为2(取决于浏览器)活动连接。意思是一次只有2个上传活动,而另一个将排队。现在这通常不是一个问题,但是当上传的文件非常大时,其他上传文件会超时,即使它们没有启动。每两次上传使用子域名(upl1.mydomain.com,upl2.mydomain.com)就有一种解决方法,我没有去测试,但它应该可以解决这个问题。
参考文献:http://anirudhs.chaosnet.org/blog/2008.06.17.html和http://www.ajaxperformance.com/2006/12/18/circumventing-browser-connection-limits-for-fun-and-profit/(您可以从第一个链接实际访问)。
此外,您可能无法在Flash中对上传进行排队,因为安全模型需要通过鼠标单击调用上传方法(FileReference)。
答案 1 :(得分:0)
答案 2 :(得分:0)
模拟多任务处理的另一种方法是按块下载/上传,并使用callLater()进行顺序执行。 这将是早期Windows协作式多任务的复制
答案 3 :(得分:0)
问题在于Flex连接到后端的模型。通过HttpService和Remoting,Flex客户端可以打开与服务器的Http连接。如果要连接到服务器上的相同Servlet /服务,它将使用相同的连接并可能会遇到问题。
对于一个简单的测试,尝试创建同一个servlet的两个实例,并将上传请求发送到2个servlet进行2次上传。它应该工作。
答案 4 :(得分:0)
将上传脚本设为上传类可能会有所帮助..我的意思是,如果您的上传脚本是在php或asp中,那么创建该脚本的类,以便每个请求对应于每个唯一对象,我们可以同时上传文件...