`
乌托邦之爱
  • 浏览: 284277 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

struts2+dwr上传带进度条监控

阅读更多

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

分享到:
评论
6 楼 乌托邦之爱 2011-03-31  
yzjdt 写道
测试过后,发现这个好像是在客户端显示“正在获取数据...”时是在上传文件(这个在服务器端的文件为临时文件),当上传的文件上传为临时文件后,再转存临时文件时客户端才会显示进度条,而这个进度条应该只是转存进度条了。所以好像与原始要求不符合,不知楼主注意到没有。而且我弄了半天没有解决,希望楼主可以帮忙解决一下。


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

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

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

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

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

大致就是这个想法,具体实现可以在研究,这两个方法我都单独实现过,两个功能的实现是没问题的.
5 楼 yzjdt 2011-01-30  
测试过后,发现这个好像是在客户端显示“正在获取数据...”时是在上传文件(这个在服务器端的文件为临时文件),当上传的文件上传为临时文件后,再转存临时文件时客户端才会显示进度条,而这个进度条应该只是转存进度条了。所以好像与原始要求不符合,不知楼主注意到没有。而且我弄了半天没有解决,希望楼主可以帮忙解决一下。
4 楼 adaikiss 2010-12-10  
zjiaohuang 写道
用flash的FileReference替代html的file上传确实是一个非常好的选择,可以限制文件上传类型,同时不用使用定时去服务器上查看文件上传进度。FileReference的progress事件能够直接反映上传进度,如果在加上as调用js那就是一个完美上传框架了

flash的FileReference返回的进度好像是本地发送的比例吧?但是实际使用中,用户想要看到的应该是服务端接收到的百分比...
3 楼 rainsilence 2010-12-10  
递归???递归!~!!!!
2 楼 zjiaohuang 2010-12-09  
用flash的FileReference替代html的file上传确实是一个非常好的选择,可以限制文件上传类型,同时不用使用定时去服务器上查看文件上传进度。FileReference的progress事件能够直接反映上传进度,如果在加上as调用js那就是一个完美上传框架了
1 楼 yyjn12 2010-12-08  
用 swfupload 来做,非常简单,只需要写几个javascript callback方法就行了。

强烈推荐  swfupload.org, 

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

相关推荐

    struts2+dwr+自己实现的progresslistener监控上传进度

    标题"struts2+dwr+自己实现的progresslistener监控上传进度"表明我们将讨论如何在Struts2和DWR的结合中,通过自定义的ProgressListener来实现文件上传进度的实时监控。这在大型文件上传时尤其重要,因为它提供了用户...

    Strues2-Dwr 带进度条文件上传

    Struts2-DWR带进度条文件上传是一种在Web应用程序中实现大文件上传并显示实时进度条的技术组合。Struts2是一个流行的Java MVC框架,用于构建企业级Web应用,而DWR(Direct Web Remoting)是一个JavaScript库,允许在...

    采用dwr和struts上传进度条

    为了实时监控上传进度,需要编写监听器类来捕获上传过程中的事件。这些监听器将与Struts框架配合工作,确保上传状态能够及时反馈给前端,进而更新进度条。 ### 结论 通过结合DWR和Struts,可以实现一个功能完善且...

    采用dwr+ajax和struts开发文件上传进度条

    ### 采用DWR+AJAX和Struts开发文件上传进度条 #### 一、概述 在Web应用开发中,文件上传是一项常见的功能需求。传统的文件上传方式无法提供良好的用户体验,尤其是对于大文件上传时,用户很难了解到上传进度,进而...

Global site tag (gtag.js) - Google Analytics