SWFUpload+COS 上传组件+servelet 实现大附件上传

一、需求和背景:公司内网月度会议文档过大有的超过50M,原先的上传组件利用struts upload+io流如果上传文件过大会导致内存溢出。而且客户那边还迫切的希望有个大附件上传的功能。

二、

1、[swfupload] 组件下载 http://swfupload.googlecode.comSWFUpload v2.2.0.1 Core.zip

2、[COS 上传组件]下载 http://www.servlets.com/cos/index.html (cos-26Dec2008.zip)

3、将swfupload和cos整合,

第一步:先让swfupload跑起来,编写index.jsp:

注:1、所有的js和css文件都是从官网上下载下来的,没有什么特殊的改变。

2、upload_url: "up/upload.jsp",这里的“up/upload.jsp”可以用一个jsp页面写上传类(cos),我这里用servelet配置的路径

2、web.xm配置:

注:1、fileSizeLimit是配置允许上传大小的500,代表500M。

3、编写SimpleUploaderServlet类(利用cos.jar上传):

注:1、MyFileRenamePolicy是自定义文件重命名的方法。

另外考虑到cos与struts1.x的结合有缺陷,如果想保存上传后的文件信息,可以利用别的方法,如存入到session中。

demo下载地址:http://download.csdn.net/source/2180135

效果图:

SWFUpload+COS 上传组件+servelet 实现大附件上传_第1张图片

另外在网上google了下Cos ,FileUpload ,SmartUpload 上传文件性能比较,自己也测试了下Cos和struts upload,发现的确Cos是挺快的,尤其是大的附件的时候。

这个是网上其它人测试的 使用2M20M45M200M的上传大小测试三种组件所花费的时间(单位为ms

SWFUpload+COS 上传组件+servelet 实现大附件上传_第2张图片

你可能感兴趣的:(swfupload)