[size=x-large]做的是上传的功能。一次request,会获得服务器端多次关于进度信息的response,写入iframe中。
但如何保证浏览器端能及时收到每一个response信息?
目前服务器端总是能持续输出信息,但每次都是进度在80%多的时候,浏览器上才显示进度(alert("xxx")才有信息)。
在文件小于100K的时候,浏览器能实时的接收信息。如果是大些的文件,如:2M,就只能在80%多才有进度显示。
用过以下办法了,都没有效果。
printWriter.flush();
printWriter.close();
response.flushBuffer();
response.setStatus(HttpServletResponse.XXX);
请注意,是一次request,不是多次。[/size]
一次请求,返回多个response? 这可能吗?
http协议中,客户端发送一个请求(request)给服务器,服务器在接收到这个请求后将生成一个响应(response)返回给客户端。加上http协议的无状态特点。 这可能吗?
针对你这种情况,你[size=xx-large]可以在客户端不断发送ajax异步请求[/size],来获取服务端信息,进而更新上传的进度。