标签来实现上传的情况,存在着严重的性能问题,因为用户提交了文件之后,在浏览器把文件上传到服务器的过程中,界面看上去似乎是静止的,如果是小文件还好些,如果不"> 标签来实现上传的情况,存在着严重的性能问题,因为用户提交了文件之后,在浏览器把文件上传到服务器的过程中,界面看上去似乎是静止的,如果是小文件还好些,如果不" />
jsp实现基于web的文件上传的进度控制说明书

jsp实现基于web的文件上传的进度控制说明书

ID:19543347

大小:269.50 KB

页数:41页

时间:2018-10-03

jsp实现基于web的文件上传的进度控制说明书_第1页
jsp实现基于web的文件上传的进度控制说明书_第2页
jsp实现基于web的文件上传的进度控制说明书_第3页
jsp实现基于web的文件上传的进度控制说明书_第4页
jsp实现基于web的文件上传的进度控制说明书_第5页
资源描述:

《jsp实现基于web的文件上传的进度控制说明书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1. 引言  基于浏览器的文件上传,特别是对于通过标签来实现上传的情况,存在着严重的性能问题,因为用户提交了文件之后,在浏览器把文件上传到服务器的过程中,界面看上去似乎是静止的,如果是小文件还好些,如果不幸需要上传的是几兆、几十兆甚至上百兆的文件,我相信那是一种非常痛苦的体验,我们中间的很多人应该都有过此种不堪的经历。(一笑)  现在我就针对这个问题给出一个解决方案,我们将实现一个具有监控能力的WEB上传的程序——它不仅把文件上传到服务器,而且"实时地"监视文件上传的实际过程。解决方案的基本思路是这样的:

2、·  在Form提交上传文件同时,使用AJAX周期性地从Servlet轮询上传状态信息·  然后,根据此信息更新进度条和相关文字,及时反映文件传输状态·  如果用户取消上传操作,则进行相应的现场清理工作:删除已经上传的文件,在Form提交页面中显示相关信息·  如果上传完毕,显示已经上传的文件内容(或链接)在介绍源代码之前,我们先来看看程序运行界面: 2. 实现代码  实现代码想当然的有服务器端代码和客户端代码(呵呵),我们先从服务器端开始。 2.1. 服务器端代码  2.1.1. 文件上传状态类(FileUploadStatus)39  

3、使用FileUploadStatus这个类记录文件上传状态,并将其作为服务器端与web客户端之间通信的媒介,通过对这个类对象提供上传状态作为服务器回应发送给web客户端,web客户端使用JavaScript获得文件上传状态。源代码如下:/***本例程演示了通过Web上传文件过程中的进度显示。您可以对本例程进行任何修改和使用。*如果需要转载本例程,请您注明作者。**作者:刘作晨*EMail:liuzuochen@gmail.com*/packageliuzuochen.sample.upload;importjava.util.*;publi

4、cclassFileUploadStatus{//上传用户地址privateStringuploadAddr;//上传总量privatelonguploadTotalSize=0;//读取上传总量privatelongreadTotalSize=0;//当前上传文件号privateintcurrentUploadFileNum=0;//成功读取上传文件数privateintsuccessUploadFileCount=0;//状态privateStringstatus="";//处理起始时间privatelongprocessStartTi

5、me=0l;//处理终止时间privatelongprocessEndTime=0l;//处理执行时间privatelongprocessRunningTime=0l;//上传文件URL列表privateListuploadFileUrlList=newArrayList();//取消上传privatebooleancancel=false;//上传base目录privateStringbaseDir="";publicFileUploadStatus(){}publicStringgetBaseDir(){returnbaseDir;}3

6、9publicvoidsetBaseDir(StringbaseDir){this.baseDir=baseDir;}publicbooleangetCancel(){returncancel;}publicvoidsetCancel(booleancancel){this.cancel=cancel;}publicListgetUploadFileUrlList(){returnuploadFileUrlList;}publicvoidsetUploadFileUrlList(ListuploadFileUrlList){this.upl

7、oadFileUrlList=uploadFileUrlList;}publiclonggetProcessRunningTime(){returnprocessRunningTime;}publicvoidsetProcessRunningTime(longprocessRunningTime){this.processRunningTime=processRunningTime;}publiclonggetProcessEndTime(){returnprocessEndTime;}publicvoidsetProcessEndTime

8、(longprocessEndTime){this.processEndTime=processEndTime;}publiclonggetProcessStartTime(){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。