springboot文件上传简单实例 使用MultipartFile

序言:利用MultipartFile接收前台传过来的文件保存到本地
1.pom.xml

    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3</version>
    </dependency>

2.application.yml 配置上传文件大小限spring制
spring
servlet:
multipart:
#设置单个文件上传大小
max-file-size: 10MB
#设置总上传的数据大小
max-request-size: 50MB
3.html层

3.controller层
package com.example.shop.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

/**

  • com.example.uploadfile.controller
  • 红烛
  • 介绍:
    /
    @Controller
    @RequestMapping(value={“test”})
    public class UploadController {
    /
    *
    • 初始化上传文件界面,跳转到index.html
      /
      @RequestMapping(value="/index",method = RequestMethod.GET)
      public String index(){
      return “index”;
      }
      /
      *

    • 上传文件方法
      */
      @RequestMapping(value="/upload",method = RequestMethod.POST)
      public @ResponseBody String upload(HttpServletRequest request,MultipartFile file){

      try {
      //生成uuid
      String uuid = UUID.randomUUID().toString().replaceAll("-", “”);
      //得到上传时的文件名
      String filename=file.getOriginalFilename();
      //上传目录地址
      //1.1保存到项目指定目录
      String uploadDir=“C:\Users\21112\Documents\我的资源\idea\shop\src\main\resources\static\upload”;
      //1.2 上传到相对路径 request.getSession().getServletContext().getRealPath("/")+“upload/”;
      //1.2 此路径为tomcat下,可以输出看一看

       //如果目录不存在,自动创建文件夹
       File dir=new File(uploadDir);
       if(!dir.exists()){
           dir.mkdir();
       }
      
       //保存文件对象 加上uuid是为了防止文件重名
       File serverFile=new File(uploadDir+"\\"+uuid+filename);
       file.transferTo(serverFile);
      

      } catch (Exception e) {
      //打印错误堆栈信息
      e.printStackTrace();
      return “上传失败”;
      }

      return “上传成功”;
      }
      }

4.效果图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PS:表单中图片文件和表单其他数据一起提交的方法参考链接:

猜你喜欢

转载自blog.csdn.net/qq_39516150/article/details/89367057