Springmvc的jar包下载:https://pan.baidu.com/s/1Uu5R96z4LwwtydGq4B60Xg 密码:8c3n
需要额外导入文件上传的Jar包:commons-io和commons-fileupload的Jar包
ItemController.java(Controller后端控制器,文件上传(接收文件类型的参数)):
package com.xxx.springmvc.controller;
import java.io.File;
import java.util.UUID;
import org.apache.commons.io.FilenameUtils; //需要导入commons-io和commons-fileupload的Jar包
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import com.xxx.springmvc.pojo.QueryVo;
import com.xxx.springmvc.service.ItemService;
//商品管理
@Controller
@RequestMapping(value = "/item")
public class ItemController {
@Autowired
private ItemService itemService;
//接收请求参数(文件类型)
@RequestMapping(value = "/updateItem.action")
//public String updateitem(QueryVo vo,MultipartFile pictureFile) throws Exception {
public String updateitem(MultipartFile pictureFile) throws Exception {
//MultipartFile表示接收前端file表单元素的文件;形参pictureFile要和file元素的name属性值相同。
String name = UUID.randomUUID().toString().replaceAll("-", "");
//获取上传文件的后缀名。 jpg
String ext = FilenameUtils.getExtension(pictureFile.getOriginalFilename());
//将图片保存到指定位置。
pictureFile.transferTo(new File("D:\\upload\\" + name + "." + ext));
//....................
return "redirect:/itemlist.action";
}
}
src/springmvc.xml(Springmvc的核心配置文件,配置文件上传解析器):
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- 开启注解扫描。 扫描 @Controler @Service等注解 -->
<context:component-scan base-package="com.xxx"/>
<!-- 注解驱动; 指定处理器映射器、处理器适配器 -->
<mvc:annotation-driven />
<!-- 配置文件上传解析器;id必须设置为"multipartResolver" -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设定默认编码 -->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 可以限制上传图片的大小 单位B -->
<property name="maxUploadSize" value="5000000" /> <!-- 大约5M大小 -->
</bean>
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/> <!-- 视图(jsp页面)请求路径的前缀 -->
<property name="suffix" value=".jsp"/> <!-- 后缀 -->
</bean>
</beans>