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 下载
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友