yzjdt 写道
测试过后,发现这个好像是在客户端显示“正在获取数据...”时是在上传文件(这个在服务器端的文件为临时文件),当上传的文件上传为临时文件后,再转存临时文件时客户端才会显示进度条,而这个进度条应该只是转存进度条了。所以好像与原始要求不符合,不知楼主注意到没有。而且我弄了半天没有解决,希望楼主可以帮忙解决一下。
恩 做出来的时候我就注意到了 我一开始用的是在struts2上传时(这个在服务器端的文件为临时文件)时做的实时监控,不过发现会出现当服务器端的临时文件转存为上传文件时,页面呆滞的问题,所以现在又改成现在这个方案了,然后写一个正在获取数据中,来做友好提示.觉得这样做比上传完之后呆滞半天好些,因为我不能在上传完了以后,在提示他转换数据中,这样有点不友好,也不容易让用户看明白.
这个问题的主要原因就是因为strtus2的获取数据临时文件然后再转换成正式文件的这个特性造成的,这个特性其实是很恶心的一个事,个人觉得这个动作相当于在服务器上做了个没意义的动作
我也有相应的临时解决办法 不过我觉得也不太实用所以就没弄 就是在struts2上传临时文件时进行监听,这里需要注意的是,必须要从写里面filterUpload上传插件的相关类的方法中去自己加一个监听,这个的实现方式可以从网上找到,不过缺陷依然是,当你上传时确实会直接显示上传的进度了,不过当struts2的临时文件在转成实际文件时还是会等很长时间.
我后来想的方法是,这两个方式都实现,然后第一个方法用上传时的一个时间无限转动图片,然后在下面做一个监听百分比,标注为获取文件.
然后获取成功以后,在用我现在的那个监听去监听临时文件转真正文件,监听图片是进度条形式,然后说叫上传,这样就既能解决上传时和临时文件转换时的等待时间停止时间过长,又能随时告知用户内部文件上传进度,不让用户不明原因等待
大致就是这个想法,具体实现可以在研究,这两个方法我都单独实现过,两个功能的实现是没问题的.
|