Web Application(程序)中的上传打包压缩下载(java)

本文介绍了在Java Web应用中如何实现文件上传,使用了commons-fileupload库,并探讨了将文件保存到服务器和数据库的方法。接着讲解了如何通过Ant的zip包进行文件打包,以方便用户批量下载。最后,讨论了下载过程中遇到的问题,如文件删除、异常处理和客户端取消下载的应对策略。
摘要由CSDN通过智能技术生成
上传打包下载这些功能,在许多Web程序中都有涉及,做起来难免会遇到很多的问题,特别是我:).下面就浅析下这些问题:

第一部分:上传

现在比较常用的上传组件有commons-fileupload, jspSmartUpload, COS;自己写上传组件的比较少了。我使用的是fileupload,用后推荐也大家使用,开源免费可靠,很多框架spring, struts提供支持。

如果上传文件要保存在服务器上,这个比较简单,form中加上enctype="multipart/form-data"

<form action="yourservlet" name="fileupload" method="post" enctype="multipart/form-data">

<input name="photofile" type="file" size="35">

</form>

在servlet中使用commons-fileupload的ServletFileUpload取得(parseRequest)上传文件(一个或多个),写到(write)磁盘。

如果要把文件转为二进制保存到数据库中,spring有相当好的封装,可以自动把文件转换成二进制流后用Hibernate存入数据库。

1binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor());。

第二部分 打包

当用户下载时,可能想一次下载多个文件,而不是不停的点击左键或者右键另存为,这个时候将这些文件打包就方便不少。

打包可以使用sun的zip包,也可以用ant的zip包,传说中前者不支持中文,最好还是ant了。目前只做过一级的,还没有做过多级(指多层文件目录)打包。下面的代码中,fileURLList是一个文件地址列表。

1 Iterator it = fileURLList.iterator();
2 BufferedInputStream origin = null ;
3
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值