职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 683|回复: 7

struts2+dwr上传带进度条监控

[复制链接]
钰云 发表于 2011-8-20 10:52 | 显示全部楼层 |阅读模式
struts2+dw......
用swfupload......
用flash的Fil......
递归???递归!~!......
zjiaohuang......
测试过后,发现这个好......
yzjdt写道 测试......


struts2+dwr上传带进度条监控 具体功能就实现在源码中都有注释 我就不在这里多介绍了 其实网上也有很多这类功能的源码 和介绍 不过我还是弄了N久才弄明白 然后经理解自己实现了一下 主要是做好页面的dwr方法调用的递归调用方法 按一秒钟循环访问一个方法去取上传进度的相关数据显示到页面上就行了 不过目前没有做上传中途取消功能和断电续传 也没有什么思路和时间去研究了 有时间再说吧 或者谁会弄得话 可以传上来一起研究研究 呵呵
test.zip (5.5 MB)
下载次数: 1636

已经来了吗 发表于 2011-8-20 10:52 | 显示全部楼层
用 swfupload 来做,非常简单,只需要写几个javascript callback方法就行了。

强烈推荐  swfupload.org,  

不是广告。 因为它是开源的。跟我也没关系,我只是用过觉得不错而已。

ksdal 发表于 2011-8-20 10:53 | 显示全部楼层
用flash的FileReference替代html的file上传确实是一个非常好的选择,可以限制文件上传类型,同时不用使用定时去服务器上查看文件上传进度。FileReference的progress事件能够直接反映上传进度,如果在加上as调用js那就是一个完美上传框架了

走失的猫咪 发表于 2011-8-20 10:53 | 显示全部楼层
递归???递归!~!!!!

北大青鸟 发表于 2011-8-20 10:53 | 显示全部楼层
zjiaohuang 写道
用flash的FileReference替代html的file上传确实是一个非常好的选择,可以限制文件上传类型,同时不用使用定时去服务器上查看文件上传进度。FileReference的progress事件能够直接反映上传进度,如果在加上as调用js那就是一个完美上传框架了

flash的FileReference返回的进度好像是本地发送的比例吧?但是实际使用中,用户想要看到的应该是服务端接收到的百分比...

 楼主| 钰云 发表于 2011-8-20 10:53 | 显示全部楼层
测试过后,发现这个好像是在客户端显示“正在获取数据...”时是在上传文件(这个在服务器端的文件为临时文件),当上传的文件上传为临时文件后,再转存临时文件时客户端才会显示进度条,而这个进度条应该只是转存进度条了。所以好像与原始要求不符合,不知楼主注意到没有。而且我弄了半天没有解决,希望楼主可以帮忙解决一下。

醉倚西风 发表于 2011-8-20 10:53 | 显示全部楼层
yzjdt 写道
测试过后,发现这个好像是在客户端显示“正在获取数据...”时是在上传文件(这个在服务器端的文件为临时文件),当上传的文件上传为临时文件后,再转存临时文件时客户端才会显示进度条,而这个进度条应该只是转存进度条了。所以好像与原始要求不符合,不知楼主注意到没有。而且我弄了半天没有解决,希望楼主可以帮忙解决一下。


恩 做出来的时候我就注意到了 我一开始用的是在struts2上传时(这个在服务器端的文件为临时文件)时做的实时监控,不过发现会出现当服务器端的临时文件转存为上传文件时,页面呆滞的问题,所以现在又改成现在这个方案了,然后写一个正在获取数据中,来做友好提示.觉得这样做比上传完之后呆滞半天好些,因为我不能在上传完了以后,在提示他转换数据中,这样有点不友好,也不容易让用户看明白.

这个问题的主要原因就是因为strtus2的获取数据临时文件然后再转换成正式文件的这个特性造成的,这个特性其实是很恶心的一个事,个人觉得这个动作相当于在服务器上做了个没意义的动作

我也有相应的临时解决办法 不过我觉得也不太实用所以就没弄 就是在struts2上传临时文件时进行监听,这里需要注意的是,必须要从写里面filterUpload上传插件的相关类的方法中去自己加一个监听,这个的实现方式可以从网上找到,不过缺陷依然是,当你上传时确实会直接显示上传的进度了,不过当struts2的临时文件在转成实际文件时还是会等很长时间.

我后来想的方法是,这两个方式都实现,然后第一个方法用上传时的一个时间无限转动图片,然后在下面做一个监听百分比,标注为获取文件.

然后获取成功以后,在用我现在的那个监听去监听临时文件转真正文件,监听图片是进度条形式,然后说叫上传,这样就既能解决上传时和临时文件转换时的等待时间停止时间过长,又能随时告知用户内部文件上传进度,不让用户不明原因等待

大致就是这个想法,具体实现可以在研究,这两个方法我都单独实现过,两个功能的实现是没问题的.
ㄧ.920.みん、 发表于 2011-8-22 11:12 | 显示全部楼层
求解当中啊!
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-9 21:41 , Processed in 0.141252 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表