SpringMVC + bootstrap fileupload 多文件上传

最近公司的项目要用到文件上传,然后发现单文件上传还是挺简单,但是多文件就有点麻烦了,废话不会说,多见谅,下面是正文:

首先在网上找到了swfUpload,个人感觉样子不太好看,效果如下:

SpringMVC + bootstrap fileupload 多文件上传_第1张图片


SpringMVC + bootstrap fileupload 多文件上传_第2张图片


然后我找到了bootstrap fileupload,先看效果图:

SpringMVC + bootstrap fileupload 多文件上传_第3张图片


官网demo地址:http://plugins.krajee.com/file-input/demo 

txt、excel支持文件预览,图片可以放大 左右翻看,非常nice!!!!


前段代码在这里:bootstrap fileupload 使用详解():http://blog.csdn.NET/fanxiangru999/article/details/63756730


下面是后台代码

SpringMVC 配置及代码如下:

1、配置SpringMVC文件上传解析器:applicationContext.xml 中增加如下配置:


	
    	
    	
    	
    

2、controller写法:

@RequestMapping(value = "/upload", produces = "text/html;charset=utf-8")
	@ResponseBody
	public String uploadFlatness(@RequestParam("fileId") MultipartFile file,
			HttpServletRequest request) throws IOException {
		// 1、解析文件数据,并存入车检数据库
		InputStream fileInput = fileInput = file.getInputStream() ;
		String name = file.getOriginalFilename();
		fileInput.close();
		return "上传成功:"+name;
	}
文件多选时,将同步挨个文件进行上传,测试就能看到效果:

SpringMVC + bootstrap fileupload 多文件上传_第4张图片
SpringMVC+bootsrap 操作已经晚了,很简单吧~


下面介绍两个有用的方法:

1、如果页面中某个值或者内容改变需要调整上传路径,可以借鉴下面:

$("#fileId").fileinput(
				"refresh",
				{
					uploadUrl : basePath
							+ 'ptcms/lkpd/ptcdImport/uploadFlatness/SFC/' + screening
				});

2、上传成功后回调函数:

$(document).on('fileuploaded', function(event, data, previewId, index) {
		if (data.response.status == "error") {
			var d = data.response.data;
			for ( var i = 0; i < d.length; i++) {
				d[i].fileName = data.filenames[index];
				datas.push(d[i]);
			}

			if ((data.filenames.length - 1) == index) {
				mini.alert("检测数据校验不通过,无法导入");
				var grid = mini.get("resultGrid");
				grid.setData(datas);
				datas = new Array();
			}
		} else {
			var grid = mini.get("resultGrid");
			grid.load();
		}
	});


你可能感兴趣的:(Java)