SpringMVC上传多个文件

form表单要加上enctype="multipart/form-data" 多部件类型

在页面form中提交enctype="multipart/form-data"的数据时,需要springmvc对multipart类型的数据进行解析。

 

先加入上传文件需要的jar包

然后再在springmvc.xml中配置multipart类型解析器。


	
		
			5242880
		
	

建议在tomcat里配置虚拟路径,方便后期更新,以及减轻tomcat的负载。

配置虚拟路径方法:在tomcat下conf下的server.xml的Host标签里加入如下内容:

前端页面代码:

商品编号:
商品名称:
商品价格:
上传图片:
上传大图片:

专门写一个上传文件的方法,方法上传多个文件时候调用:

/**
	 * 文件上传的方法
	 */
	public String saveFile(MultipartFile multipartFile){
		String originalName=multipartFile.getOriginalFilename();
		String path="E:\\graduationPic\\";
		String newName=IdName.getIdName()+originalName.substring(originalName.lastIndexOf("."));
		File file=new File(path+newName);
		
		try {
			multipartFile.transferTo(file);
		} catch (IllegalStateException e) {
			
			e.printStackTrace();
		} catch (IOException e) {
			
			e.printStackTrace();
		}
		return "/images/"+newName;
	}

controller代码:

/*
	 * 添加新书,其中包含文件上传
	 */
	@RequestMapping(value="saveBook",method=RequestMethod.POST)
	public String saveBook(Book book,@RequestParam("file")MultipartFile[] file){
		
		if(file.length>0){
			String bookimg=saveFile(file[0]);
			String homeimg=saveFile(file[1]);
			book.setSendBookTime(IdName.getCurrentTime());
			book.setBookimg(bookimg);
			book.setHomeImage(homeimg);
			System.out.println(bookimg);
			System.out.println(homeimg);
		}
		
		
		
		System.out.println(book);
		iBookService.addBook(book);
		return "houtaiPage/mainPage/index.jsp";
	}

 

 

 

你可能感兴趣的:(Java)