【从本人QQ空间迁移】文件上传进度条实现思路

     1、 struts2:
        后台得到一个被封装好的File对象,然后把file对象包装成一个输入流,然后在服务器端文件系统中新建一个文件,将该文件包装成输入流,然后不断从输入流中读取字节转到输出流中,这个过程是一个持续的过程。
        中间使用缓冲区来进行字节数据的中转,而且每一次中转的字节数都可以拿到,就想着如果在这个过程中把已经传输的写入到本地文件系统中的字节数记录下来(传输的文件长度),而且文件的总长度也可以获取。
       这个信息保存在session里面,再在客户端不断的发ajax请求从里面拿到这个值,然后再客户端将该值展示出来即可。
       更确切的说是,我们所执行的数据传输其实只是从服务器端的内存系统或临时文件系统转到我们规定的一个文件中去。这个并不是真正意义上的进度条。

       2、  servlet添加监听器  
        还有一种方式就是使用servlet来完成文件上传。
       在上传的action中添加进度条监视器,因为在传输的工程中监视器可以获取上传的大小信息和文件总大小信息。
       将传输信息、文件总大小信息保存在session里面或者是一个工厂里面。
       再让客户端不断的发出请求,来获取进度信息并进行展示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值