环境准备
- 下载jar包(maven)
<!-- 上传组件包 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
- 配置springMVC
<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 默认编码 -->
<property name="defaultEncoding" value="utf-8" />
<!-- 文件大小最大值 -->
<property name="maxUploadSize" value="10485760000" />
<!-- 内存中的最大值 -->
<property name="maxInMemorySize" value="40960" />
<!-- 启用是为了推迟文件解析,以便捕获文件大小异常 -->
<property name="resolveLazily" value="true"/>
</bean>
- 创建 图片物理文件夹
- 编写jsp
注意form中的enctype属性的值为multipart/form-data
<form action="${pageContext.request.contextPath }/items/updateItems" enctype="multipart/form-data" method="post">
商品列表:
<table width="100%" border=1>
<tr>
<td>商品id</td>
<td>商品图片</td>
</tr>
<%--itemsList是controller中传过来键--%>
<c:forEach items="${list }" var="item">
<tr>
<td><input type="text" id="id" name="id" value="${item.id }"></td>
</td>
<td>
<c:if test="${item.pic !=null}">
<img src="/pic/${item.pic}" width="100" height="100">
</c:if>
<input type="file" name="items_pic">
</td>
</tr>
</c:forEach>
</table>
<input type="submit" value="提交">
</form>
5.编写controller
@RequestMapping("/updateItems")
public String updateItems(Model model,HttpServletRequest request,ItesmCustom itesmCustom,MultipartFile items_pic) throws IOException {
//上传图片
// 获取图片原始名称
String originalFilename=items_pic.getOriginalFilename();
// 上传图片
if(items_pic!=null && originalFilename!=null &&originalFilename.length()>0){
//设置图片储存的物理路径
String pic_path="D:\\ider\\temp\\";
// 设置新的图片名称
String nuwFilename= UUID.randomUUID()+originalFilename.substring(originalFilename.lastIndexOf("."));
// 新图片
File nuwFil=new File(pic_path+nuwFilename);
// 写入磁盘
items_pic.transferTo(nuwFil);
// 将图片名称保存到实体
itesmCustom.setPic(nuwFilename);
}
List<ItesmCustom> list=itemsCustomService.findItemsList();
ItemsQueryVo itemsQueryVo = new ItemsQueryVo();
itemsQueryVo.setItesmCustom(itesmCustom);
itemsCustomService.updateItems(itemsQueryVo);
model.addAttribute("list",list);
return "views/itemsList";
}
在下为小白,正在学习中,以往能帮助你,并在此记录