java spring mvc restful 上传文件
spring mvc 配置文件
<bean class="com.baiyyy.yfz.core.RestfulHandlerMethodMapping" />
        <bean id="multipartResolver"  
            class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
            <property name="defaultEncoding" value="utf-8" />  
            <property name="maxUploadSize" value="10485760000" />  
            <property name="maxInMemorySize" value="40960" />  
        </bean> 
package com.baiyyy.yfz.controller; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.multipart.commons.CommonsMultipartFile; import com.baiyyy.yfz.core.BaseController; import com.baiyyy.yfz.util.DateUtil; import com.baiyyy.yfz.util.PictureUploadPath; /** * 基础服务接口 * * @author 左立军 * */ @RestController @RequestMapping("/upload") public class UploadController extends BaseController { /** * 图片路径配置 */ @Autowired private PictureUploadPath pictureUploadPath; @RequestMapping(value = "/picture", consumes = "multipart/form-data", method = RequestMethod.POST) public void picture(@RequestParam("fileUpload") CommonsMultipartFile file) { // 判断文件是否存在 if (!file.isEmpty()) { String path = pictureUploadPath.uploadPicturePath + "/" + DateUtil.convertDateToYYYYMMdd(new Date()) + "/"; File dir = new File(path); if (!dir.exists()) { dir.mkdirs(); } path += file.getOriginalFilename(); File localFile = new File(path); try { file.transferTo(localFile); } catch (IllegalStateException | IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
多文件上传
@RequestMapping(value = "/picture", consumes = "multipart/form-data", method = RequestMethod.POST)
	public void picture(HttpServletRequest request) {
		String uploadPicturePath = pictureUploadPath.getUploadPicturePath();
		String pathname = uploadPicturePath + "/"
				+ DateUtil.convertDateToYYYYMMdd(new Date()) + "/";
		File file = new File(pathname);
		if (!file.exists()) {
			file.mkdirs();
		}
		MultipartHttpServletRequest muti = (MultipartHttpServletRequest) request;
		System.out.println(muti.getMultiFileMap().size());
		MultiValueMap<String, MultipartFile> map = muti.getMultiFileMap();
		for (Map.Entry<String, List<MultipartFile>> entry : map.entrySet()) {
			List<MultipartFile> list = entry.getValue();
			for (MultipartFile multipartFile : list) {
				try {
					multipartFile.transferTo(new File(pathname
							+ multipartFile.getOriginalFilename()));
				} catch (IllegalStateException | IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
 用到的包
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.5</version>
        </dependency>
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号