> 文档中心 > Spring+SpringMVC+Mybatis(开发必备技能)03、图片上传

Spring+SpringMVC+Mybatis(开发必备技能)03、图片上传

Spring+SpringMVC+Mybatis(开发必备技能)03、图片上传

目录

Spring+SpringMVC+Mybatis(开发必备技能)03、图片上传

1、pom.xml引包

2、在webapp下创建【imgs】文件夹用作存储图片

3、控制器编码:

4、视图层编码:

5、执行测试:


1、pom.xml引包

  commons-fileupload  commons-fileupload  1.3.1  commons-io  commons-io  2.4

引完包一定要刷一下。

在加入spring-mvc.xml文件中加上一下编码: 

               

2、在webapp下创建【imgs】文件夹用作存储图片

里面至少放置1张图片或其它,否则tomcat在执行中不会创建【imgs】空文件夹 

3、控制器编码:

新建【UploadController.java】文件

package com.item.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.CrossOrigin;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;import java.io.File;import java.io.IOException;import java.util.UUID;@Controller@CrossOriginpublic class UploadController {    /**     * 上传页面接口     * @return     */    @GetMapping(value = "/UploadPage")    public String UploadPage(){ return "UploadPage";    }    /**     * 上传接口     * @param img     * @param request     * @param model     * @return     */    @PostMapping(value = "/UploadPageApi")    public String UploadPageApi(     MultipartFile img,     HttpServletRequest request,     Model model){ if(img.getSize()>0){     String realPath = request.getSession().getServletContext().getRealPath("imgs/");     String fileName = UUID.randomUUID()+".jpg";     String path=realPath+fileName;     File file=new File(path);     try {  img.transferTo(file);     } catch (IOException e) {  e.printStackTrace();     }     model.addAttribute("imgSrc",fileName);     return "ShowImg"; } return "/UploadPage";    }}

4、视图层编码:

【UploadPage.jsp】

    <a href="https://www.csdndoc.com/tag/%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0" title="View all posts in 文件上传" target="_blank" style="color:#0ec3f3;font-size: 18px;font-weight: 600;">文件上传</a>页面    

【ShowImg.jsp】

这里我单独加了个【basePath】用作获取服务器绝对路径。

    显示图片<img src="imgs/"/>

5、执行测试:

【http://localhost:8088/UploadPage】

选择一张图片:

上传成功

 如果要存储到数据库里面,直接存储UUID的文件名称即可。

手机爆料