pringMVC上传图片

1.配置虚拟目录

(图片存放本地)

注意:当服务器重新启动 tomcat下conf/server.xml 中添加的配置有可能会消失,当上传或读取图片失灵时先检查这里面的配置是否有问题;

在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加:

<Context docBase="D:\develop\upload\temp" path="/pic" reloadable="false"/>

访问http://localhost:8080/pic即可访问D:\develop\upload\temp下的图片。

放在<host>节点中

复制一张图片到存放图片的文件夹,使用浏览器访问

测试效果,如下图:

2.加入jar包

实现图片上传需要加入的jar包,如下图:

把两个jar包放到工程的lib文件夹中

3.配置上传解析器

在springmvc.xml中配置文件上传解析器

<!-- 文件上传,id必须设置为multipartResolver -->

<bean id="multipartResolver"

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<!-- 设置文件上传大小 -->

<property name="maxUploadSize" value="5000000" />

</bean>

4.jsp页面修改

设置表单可以进行文件上传,如下图:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改商品信息</title></head>
<body> <!-- 上传图片是需要指定属性 enctype="multipart/form-data" --><!-- <form id="itemForm" action="" method="post" enctype="multipart/form-data"> --><form id="itemForm"    action="${pageContext.request.contextPath }/updateitem.action" method="post"enctype="multipart/form-data"><input type="hidden" name="id" value="${item.id }" /> 修改商品信息:<table width="100%" border=1><tr><td>商品名称</td><td><input type="text" name="name" value="${item.name }" /></td></tr><tr><td>商品价格</td><td><input type="text" name="price" value="${item.price }" /></td></tr><tr><td>商品生产日期</td><td><input type="text" name="createtime"value="<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>" /></td></tr><tr><td>商品图片</td><td><c:if test="${item.pic !=null}"><img src="${item.pic}" width=100 height=100/><br/></c:if><input type="file"  name="pictureFile"/> </td></tr><tr><td>商品简介</td><td><textarea rows="3" cols="30" name="detail">${item.detail }</textarea></td></tr><tr><td colspan="2" align="center"><input type="submit" value="提交" /></td></tr></table></form>
</body></html>

5.图片上传

在更新商品方法中添加图片上传逻辑

/*** 更新商品* * @param item* @return* @throws Exception*/
@RequestMapping("updateItem")
public String updateItemById(Item item, MultipartFile pictureFile) throws Exception {// 图片上传// 设置图片名称,不能重复,可以使用uuidString picName = UUID.randomUUID().toString();// 获取文件名String oriName = pictureFile.getOriginalFilename();// 获取图片后缀String extName = oriName.substring(oriName.lastIndexOf("."));// 开始上传pictureFile.transferTo(new File("D:/develop/upload/temp/" + picName + extName));// 设置图片名到商品中(路径)item.setPic(picName + extName);// ---------------------------------------------// 更新商品this.itemService.updateItemById(item);return "forward:/itemEdit.action";
}

效果,如下图:

<!-- 上传文件拦截,设置最大上传文件大小   10M=10*1024*1024(B)=10485760 bytes -->

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<property name="maxUploadSize" value="10485760" />

</bean>

pringMVC上传图片相关推荐

  1. Django 上传图片和Admin站点5.2

    上传图片 当Django在处理文件上传的时候,文件数据被保存在request.FILES FILES中的每个键为<input type="file" name="& ...

  2. tp5+linux+apache php7.1.30环境下,上传图片报错:mkdir():permission denied

    做了个自己的博客,后台上传图片的时候报错如图: 首先反应是权限问题,runtime和uploads文件夹已经给了777权限了,超出菜鸟的解决范围,果断百度,但是百度了一堆,全部是关于runtime的, ...

  3. 上传图片配置控制大小_esp32-cam拍照上传云平台,http协议传输

    1.ESP32-cam开发环境配置 本例程 是利用arduino IDE开发,关于arduino IDE 的esp32环境配置可参考:环境配置: 点击跳转 安装好esp32 环境,开发板选择esp32 ...

  4. android上传本地图片到服务器上,Android使用post方式上传图片到服务器的方法

    本文实例讲述了Android使用post方式上传图片到服务器的方法.分享给大家供大家参考,具体如下: /** * 上传文件到服务器类 * * @author tom */ public class U ...

  5. php删除上传图片,PHP上传图片、删除图片的简单示例代码

    本节内容: PHP上传图片.删除图片 1,php上传图片: 复制代码 代码示例: if (!empty($_FILES["img"]["name"])) { / ...

  6. 上传图片,要求图片200100象素,大小小于2M

    作者:网际浪子专栏(曾用名littlehb)  http://blog.csdn.net/littlehb/ 上传图片,要求图片200100象素,大小小于2M, 如果图片不符合要求,不能上传,否则上传 ...

  7. php上传图片 $__files没有信息_Python接口测试文件上传实例解析

    接口测试中,上传文件的测试场景非常常见.例如:上传头像(图片).上传文件.上传视频等.下面以一个上传图片的例子为大家讲解如何通过 python 测试上传文件接口. 首先通过抓包分析上传文件接口的请求参 ...

  8. java flex 图片上传_flex上传图片到java服务器

    今天弄flex上传图片到java,现在弄成功,中间也经常一点小波折,现记录一下.重点在java侧的实现. flex侧:文件上载到在url参数中传递的URL.该URL必须是配置为接受上载的服务器脚本.F ...

  9. 阿里云OSS上传图片实现流程

    前置,在阿里云开通OSS对象储存.然后在下图文件管理配置文件储存目录和图中传输管理配置访问域名. 1.复制 uploadFileUtil 文件夹和 uploadFile.js 文件在 util 文件夹 ...

最新文章

  1. R语言ggplot2可视化整体排序的水平堆叠条形图(Ordered Stacked Horizontal Barplot)
  2. 【项目实战课】基于Pytorch的SRGAN图像超分辨实战
  3. ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)
  4. 受软银收购利好影响 ARM股价大涨近50%
  5. 车载wince系统刷界面ui_2020年值得关注的10个UI设计趋势!
  6. html jquery 不能自动完成,在jQuery UI自动完成中使用HTML
  7. Prism源代码解析(IRegionManager)
  8. hadoop 重新格式化 NameNode
  9. 第二篇:操纵MySQL数据库(2) - 基于ORM思想的SQLAlchemy库
  10. 机器学习--文本分析(jieba)
  11. 松下NPM服务器怎么备份系统,松下(Panasonic)-NPM校正amp;CPK完整版教程,一步步带你成为SMT设备大神!...
  12. acs880变频器静态辨识_ACS880变频器PID控制参数设置 -
  13. java中字符串计算字节长度
  14. 隐马尔可夫链模型的训练与预测
  15. 测试9年,面试华为要薪1万,华为员工:公司没这么低工资的岗
  16. icinga ido2db
  17. 网络拓扑学习之SLB
  18. 史上最全Maven教程(五)
  19. 《2021-2022全球计算力指数评估报告》发布
  20. c语言随机数毫秒变化,C语言随机数生成

热门文章

  1. oracle 11g for windows卸载
  2. 中国篮球--路在何方!
  3. FlashDevelop 3.0.0 Beta2 released
  4. Jquery的ajax 三级联动 03
  5. Python 如何在csv中定位非数字和字母的符号
  6. Android -- Messager与Service
  7. 力扣题目——429. N 叉树的层序遍历
  8. linux 7安装mysql8.12_Linux(centOS 7)安装MySQL8.12
  9. 【Oracle】ORA-55610: Invalid DDL statement on history-tracked table
  10. SQL SERVER 2014无法启动T-SQL调试的解决方法(亲自实践)