SSM+Bootstrap+Ajax实现页面无刷新带进度条多文件上传(超详细备注)

SSM要想实现文件上传,需要在Spring-MVC.xml文件里添加如下配置

	
		
		
	

需要导入两个jar包

下面是jsp页面:由于引用的全是网络上的cdn,需要联网后食用!

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>




Insert title here





	

后台controller方法

	@RequestMapping(value = "/upload.do", method = RequestMethod.POST)
	public String upload(HttpServletRequest request,
			@RequestParam("file") MultipartFile[] file, ModelMap model) {
		System.out.println("开始");
		String path = request.getSession().getServletContext()
				.getRealPath("upload");//获取当前项目下的upload
		for (int i = 0; i < file.length; i++) {
			
			String fileName = file[i].getOriginalFilename();//获取文件名
			// String fileName = new Date().getTime()+".jpg";//替换新名字
			System.out.println(path);
			File targetFile = new File(path, fileName);//判断文件是否存在,不存在则创建,可创建文件夹
			if (!targetFile.exists()) {
				targetFile.mkdirs();
			}
			
			// 保存
			try {
				//使用transferTo(dest)方法将上传文件写到服务器上指定的文件。
				file[i].transferTo(targetFile);//此方法在上传完成后才开始上传
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
//		model.addAttribute("fileUrl", request.getContextPath() + "/upload/"
//				+ fileName);
		return "index";
	}

效果图

SSM+Bootstrap+Ajax实现页面无刷新带进度条多文件上传(超详细备注)_第1张图片

多文件上传时,进度条进度为所有文件总进度。

这个进度为写入tomcat的temp文件夹内的进度,到达百分之百后才从temp文件夹移至目标路径。

参考网页地址:https://www.jb51.net/article/103365.htm

你可能感兴趣的:(JAVA)