700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > SpringMVC 处理multipart形式数据:java方式配置文件上传

SpringMVC 处理multipart形式数据:java方式配置文件上传

时间:2023-02-05 18:19:35

相关推荐

SpringMVC 处理multipart形式数据:java方式配置文件上传

为什么80%的码农都做不了架构师?>>>

首先利用Maven引入jar包:

<dependency>

<groupId>commons-io</groupId>

<artifactId>commons-io</artifactId>

<version>2.4</version>

</dependency>

<dependency>

<groupId>commons-fileupload</groupId>

<artifactId>commons-fileupload</artifactId>

<version>1.3</version>

</dependency>

/**

* 配置文件上传解析器

* 非Servlet 3.0的容器或者容器不支持StandardServletMultipartResolver用CommonsMultipartResolver替代

* 因为自己用的tomcat 7.0,所以用CommonsMultipartResolver

* @return

* @throws IOException

*/

@Bean

public MultipartResolver multipartResolver() throws IOException{

CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();

multipartResolver.setDefaultEncoding("UTF-8");

//设置临时文件路径,不设置的话这个路径就是Servlet容器的临时目录,如:E:\apache-tomcat-7.0.70\work\Catalina\localhost\spittr

multipartResolver.setUploadTempDir(new FileSystemResource("/tmp/spittr/uploads"));

//设置所有大小的文件都会写入到磁盘中

multipartResolver.setMaxInMemorySize(0);

//设置最大文件上传大小2M

multipartResolver.setMaxUploadSize(2097152);

return multipartResolver;

}

form表单代码:

<form id="testfile" name="testfile" enctype="multipart/form-data" action='<c:url value="testFile"></c:url>' method="post">

<label for="name">Name:</label>

<input type="text" name="name" value="myName"/>

<br />

<label for="testPicture">Picture:</label>

<input type="file" name="testPicture" accept="image/jpeg,image/png,image/gif"/>

<br />

<input type="submit" value="submit"/>

</form>

controller 代码:

//文件上传

@RequestMapping(value="/testFile",method=GET)

public String toTestFile(){

return "/web/testUploadForm";

}

@RequestMapping(value="/testFile",method=POST)

public String testFile(

@Valid User user,Errors errors,

@RequestParam("testPicture") MultipartFile testPicture

) throws IllegalStateException, IOException{

String name = user.getName();

System.out.println(name);

if(errors.hasErrors()){

System.out.println("errors:"+errors.toString());

}

if(testPicture != null){

System.out.println("OriginalFilename:"+testPicture.getOriginalFilename());

String location = "/tmp/spittr/uploads/"+testPicture.getOriginalFilename();

testPicture.transferTo(new File(location));

user.setPicturePath(location);

}

System.out.println(user.getPicturePath());

return "/web/testUploadForm";

}

资料参考:《Spring实战(第4版)》

/selfly/article/337

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。