shengke的gravatar头像
shengke 2015-01-27 19:29:11

java servlet通过SmartUpload开发文件批量上传、批量下载源码分享

前几天用基础http协议实现单个文件的上传和下载,发现并不能满足项目的需求,比如一次上传下载多个文件、或者是限制上传文件的格式等。于是看了看SmartUpload这个打包好的组件,感觉还不错,分享给大家!(注:servlet实现的)

关于SmartUpload的介绍和优点就不再多说了,比如:使用简单、能全程控制上传、下载灵活等。

下载就开是使用SmartUpload来实现我们的需求

1:批量上传

               
                SmartUpload su = new SmartUpload();
		//初始化对象
		su.initialize(getServletConfig(), req, resp);
		//设置上传文件大小
		su.setMaxFileSize(1024*1024*10);
		//设置所有文件的大小
		su.setTotalMaxFileSize(1024*1024*100);
		//设置允许上传文件类型
		su.setAllowedFilesList("txt,jpg,gif");
		String result = "上传成功!";
		//设置禁止上传的文件类型
		try {
			//和setAllowedFilesList是相对的,一般项目保留一个就可以满足需求
			su.setDeniedFilesList("rar,jsp,js");
			//上传文件
			su.upload();
			
			int count = su.save(filePath);
			System.out.println("上传成功" +  count + "个文件!");
		} catch (Exception e) {
			result = "上传失败!";
			//对异常作出不同的提示,如果感兴趣的话,可以 测试一下异常代号
			if(e.getMessage().indexOf("1015")!=-1){
				result = "上传失败:上传文件类型不正确!";
			}else if(e.getMessage().indexOf("1010")!=-1){
				result = "上传失败:上传文件类型不正确!";
			}else if(e.getMessage().indexOf("1105")!=-1){
				result = "上传失败:上传文件大小超出单个文件最大值!";
			}else if(e.getMessage().indexOf("1110")!=-1){
				result = "上传失败:上传文件总大小超出总文件最大值!";
			}
			e.printStackTrace();
		}

2:批量下载

这里就只说一下思路,多个文件的下载,需要在下载前把文件打包,不然下载时浏览器会弹出多个提示下载框,个用户体验不好,具体实现就看项目代码把

本地测试地址:http://localhost:8080/fileBatchWithSmart/jsp/02.jsp

3:运行截图

java servlet通过SmartUpload开发文件批量上传、批量下载源码分享

java servlet通过SmartUpload开发文件批量上传、批量下载源码分享


打赏

文件名:fileBatchWithSmart.zip,文件大小:527.07K 下载
最代码最近下载分享源代码列表最近下载
磊哥哥哥哥  LV13 2023年12月26日
a82338181  LV7 2021年9月2日
明123456  LV11 2021年5月27日
CC1999  LV14 2020年5月25日
li0426  LV3 2020年1月22日
liuyan1234  LV9 2019年5月27日
songlijun  LV13 2019年5月3日
pahirdin  LV12 2019年4月17日
f123654789  LV17 2018年12月16日
幸运疯子  LV13 2018年10月28日
最代码最近浏览分享源代码列表最近浏览
磊哥哥哥哥  LV13 2023年12月26日
WBelong  LV8 2023年12月19日
uni-code_0123  LV1 2023年11月29日
jameshkj  LV8 2023年5月18日
ly4910  LV3 2023年2月21日
飘忽的茶树  LV9 2022年6月6日
bai620123  LV16 2022年4月16日
木易雨山  LV7 2021年11月2日
zql666  LV9 2021年9月28日
CoderMars  LV13 2021年9月10日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友