小编也是刚学习java一个月的小白,做这个图片上传和展示。百度了很多资料,就没看到有成功的,现在做出来,记录一下,同时也希望大神们给予更好的思路,小编在此深表感谢!
关于spring+springmvc+mybatis整合,这里就不介绍了,需要了解的话,请 点击了解spring+springmvc+mybatis整合!
首先看看,做出来的效果图!
上传图片:
列表展示:(图片展示)
1、pom.xml文件中添加以下2个jar包!
<!--
操作文件上传
https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload
-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
2、在spring-mvc.xml文件中添加以下代码
<!-- 文件上传 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding">
<value>UTF-8</value>
</property>
<property name="maxUploadSize">
<value>32505856</value><!-- 上传文件大小限制为31M,31*1024*1024 -->
</property>
<property name="maxInMemorySize">
<value>4096</value>
</property>
</bean>
3、在mapping.xml文件中写你的SQL语句!
4、在dao层添加以下方法
5、在Service接口中添加以下方法
6、在Service接口实现类中添加以下代码
7、基类控制器,封装图片上传方法,代码如下!
/**
* 封装图片上传方法
* @param file 表单中的file
* @param oldFileName 原图片名称
* @return
*/
protected String upload(MultipartFile file,String oldFileName) {
if(oldFileName!=null && oldFileName.length()>0){
// 新的图片名称
String newFileName=UUID.randomUUID()+oldFileName.substring(oldFileName.lastIndexOf("."));
// 拼接存放图片的物理路径
String head_path="D:\\upload";
File newFile=new File(head_path + &