06点睛Spring MVC 4.1-文件上传
程序员文章站
2022-03-10 14:36:37
...
6.1 文件上传
- 在控制器参数使用
@RequestParam("file") MultipartFile file
接受单个文件上传; - 在控制器参数使用
@RequestParam("file") MultipartFile[] files
接受多个文件上传; - 通过配置
MultipartResolver
来配置文件上传的一些属性;
6.2 示例
- 增加和上传和文件操作的依赖到maven
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
- 上传控制器
package com.wisely.web;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Controller;
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.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
@Controller
public class UploadController {
//接受多个文件上传使用@RequestParam("file") MultipartFile[] files
@RequestMapping(value = "/upload",method = RequestMethod.POST)
public @ResponseBody String upload(@RequestParam("file") MultipartFile file) {
try {
FileUtils.writeByteArrayToFile(new File("e:/"+file.getOriginalFilename()),
file.getBytes());
return "ok";
} catch (IOException e) {
e.printStackTrace();
return "wrong";
}
}
}
- 文件上传所需配置
@Configuration
@ComponentScan("com.wisely")
@EnableWebMvc
public class DemoMVCConfig extends WebMvcConfigurerAdapter {
@Bean
public UrlBasedViewResolver viewResolver(){
UrlBasedViewResolver resolver = new UrlBasedViewResolver();
resolver.setPrefix("/WEB-INF/views/")
resolver.setSuffix(".jsp");
resolver.setViewClass(JstlView.class);
return resolver;
}
//注册拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(demoInteceptor());
}
//自定义拦截器
@Bean
public DemoInteceptor demoInteceptor(){
return new DemoInteceptor();
}
//静态资源映射
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/js/**").addResourceLocations("/js/");
}
//文件上传设置--在此处
@Bean
public MultipartResolver multipartResolver() {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(1000000);
return multipartResolver;
}
}
- 页面代码
<form action="upload" enctype="multipart/form-data" method="post">
<input type="file" name="file"/><br/>
<input type="submit" value="上传">
</form>
新书推荐《JavaEE开发的颠覆者: Spring Boot实战》,涵盖Spring 4.x、Spring MVC 4.x、Spring Boot企业开发实战。
京东地址:http://item.jd.com/11894632.html
当当地址:http://product.dangdang.com/23926195.html
亚马逊地址:http://www.amazon.cn/图书/dp/B01D5ZBFUK/ref=zg_bsnr_663834051_6
淘宝地址:https://item.taobao.com/item.htm?id=528426235744&ns=1&abbucket=8#detail
或自己在京东、淘宝、亚马逊、当当、互动出版社搜索自选。
上一篇: CPU架构
下一篇: C语言04函数与递归