Tomcat图片的上传到本地仓库并且完成页面回显

jsp页面的提交以及回显路径

必须要在form表单中添加enctype="multipart/form-data来保证可以传输图片
设置method="post"来保证项目的运行

图片上传

/upload/${upload_file_path}

<%-- --%> <%--
--%> <%-- --%> <%-- --%> <%--
--%> <%--
--%> <%-- --%>

pom.xml导包

需要在pom.xml文件中导入上传图片所需的jar包

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

编写uploadController并且完成相应upload.do方法

package com.zhongruan.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

/**
 * @author 章晨杰
 * @date 2020-03-11 14:53
 */

@Controller
@RequestMapping("/uploadController")
public class uploadController {

    private static final String UPLOAD_PATH="F:/upload";

    //如何实现参数的封装 : 上传的时候,如何给出判断或者验证
    //需要CommonsMultipartResolver , 配置SpringMVC容器

    @RequestMapping("/upload.do")
    public ModelAndView upload(@RequestParam("myPic")MultipartFile myPic) throws IOException {

        //1.文件在服务器上的存储
        //先生成新的文件名

        UUID rid= UUID.randomUUID();
        long uid=Math.abs(rid.getLeastSignificantBits())/100000000;
        Date now = new Date( );
        SimpleDateFormat ft = new SimpleDateFormat ("yyyyMMdd");
        String path= ft.format(now)+uid;

        //取出后缀名
        String filename=myPic.getOriginalFilename();
        String suffix=filename.substring(filename.lastIndexOf('.'));
        File file= new File(UPLOAD_PATH+"/"+path+suffix);


        myPic.transferTo(file);

        //2.保存成功后,文件地址的回显
        ModelAndView mv=new ModelAndView();
        mv.setViewName("upload");
        mv.addObject("upload_file_path",file.getName());

        //3.给出页面的跳转
        return mv;
    }
}

回显的配置工作

为了让Tomcat可以访问到上传图片的路径从而找到相应的文件配置Tomcat相应的servlet.xml文件 Tomcat图片的上传到本地仓库并且完成页面回显_第1张图片
对内容进行编辑
标签中加入


path就是在jsp页面访问该地址的路径,而docBase是本地的访问路径

在编辑完成后保存

千万不要忘记!!!

Tomcat图片的上传到本地仓库并且完成页面回显_第2张图片
记得千万要打勾 要不然会莫名其妙404!

你可能感兴趣的:(java,tomcat)