SpringMVC文件上传
作者:gqk
文件上传:
- 导入环境jar
<!-- 文件上传 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency>
导入后注意应当将jar和依赖jar添加至项目的lib下面
- 客户端表单页面
在页面form中提交enctype="multipart/form-data"
的数据时,需要springmvc对multipart类型的数据进行解析。
<form method="post" action="/user/test9.action" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit"> </form>
- 在springMVC配置文件中添加解析器
<!-- 文件上传 --> <!-- 配置上传解析器,开启对上传功能的支持--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="104857600" /> <property name="maxInMemorySize" value="4096" /> </bean>
- 编写控制器
注意:方法中的参数类型必须为MultipartFile 类型 类型名称必须和表单中的name属性保持一直,存储上传文件的信息
@RequestMapping("/test9") public String test9(MultipartFile file) throws IOException { //原始名称 String originalFilename = file.getOriginalFilename(); //上传图片 if (file != null && originalFilename != null && originalFilename.length() > 0) { //存储图片的物理路径 String pic_path = "D:\\temp\\"; //新的图片名称 String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf(".")); //新图片 File newFile = new File(pic_path + newFileName); //将内存中的数据写入磁盘 file.transferTo(newFile); } return "hello"; }