方法:
MultipartFile multipartFile= requestBody.getFileUpload(); DiskFileItem diskFileItem=(DiskFileItem)((CommonsMultipartFile) multipartFile).getFileItem(); File file=diskFileItem.getStoreLocation();
转换时会报异常:
org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile cannot be cast to org.springframework.web.multipart.commons.CommonsMultipartFile, 根据异常信息猜测是转换异常,跟踪了源码后发现是缺少一个Bean注入,需要在项目配置一个Bean对象,由于我试验的是springboot项目所以在config项目里配置了一个name=
multipartResolver的对象。
@Bean(name = "multipartResolver") public CommonsMultipartResolver getCommonsMultipartResolver() { CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(); multipartResolver.setMaxUploadSize(20971520); multipartResolver.setMaxInMemorySize(1048576); return multipartResolver; }