spring文件上传
在pom.xml文件中加入
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
在web.xml中加入
<!--允许访问jpg-->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<!-- 允许访问jpg-->
在spring-mvc.xml中加入
<!-- 文件上传 缺少此配置会报错 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="5242880"/>
<property name="defaultEncoding" value="UTF-8"/>
</bean>
模型
package model;
import org.springframework.web.multipart.MultipartFile;
public class UploadedImageFile {
MultipartFile image;
public MultipartFile getImage() {
return image;
}
public void setImage(MultipartFile image) {
this.image = image;
}
}
controller控制器
@Controller
//@RequestMapping()
public class upload {
@RequestMapping("/uploadImage")
public ModelAndView upload( HttpServletRequest request, UploadedImageFile file)
throws IllegalStateException, IOException {
// String name = RandomStringUtils.randomAlphanumeric(10);
String newFileName = "name" + ".jpg";
File newFile = new File(request.getServletContext().getRealPath("/image"), newFileName);
System.out.println(newFile);
newFile.getParentFile().mkdirs();
file.getImage().transferTo(newFile);
ModelAndView mav = new ModelAndView("hhh");
mav.addObject("imageName", newFileName);
return mav;
}
}