Eclipse+SprignBoot实现文件上传

场景

项目搭建专栏:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688

实现

项目依赖中引入web依赖,则自动依赖文件上传


   org.springframework.boot
   spring-boot-starter-web
  

引入thymeleaf依赖,实现上传页面


  
   org.springframework.boot
   spring-boot-starter-thymeleaf
  

新建模板upload.html

Eclipse+SprignBoot实现文件上传_第1张图片





upload test



 

       

 

    

在项目src/main下新建webapp目录,再新建upload目录

Eclipse+SprignBoot实现文件上传_第2张图片

找到全局配置文件aplication.properties

#设置单个文件上传的文件大小
spring.servlet.multipart.max-file-size=10000000
#设置所有文件上传的文件大小
spring.servlet.multipart.max-request-size=100000000

 

新建Controller

package com.example.demo.controller;

import java.io.File;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;

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;

@Controller
public class UploadController {
 
 @RequestMapping("/toUpload")
 private String toUpload() {
  return "upload";
 }

 @RequestMapping(value="/upload",method=RequestMethod.POST)
 @ResponseBody
 //file要与表单上传的名字相同
 public String  uploadFile(MultipartFile file,HttpServletRequest request) {
  try {
   //创建文件在服务器端存放路径
   String dir = request.getServletContext().getRealPath("/upload");
   File fileDir = new File(dir);
   if(!fileDir.exists()) {
    fileDir.mkdirs();
   }
   //生成文件在服务器端存放的名字
   String fileSuffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
   String fileName=UUID.randomUUID().toString()+fileSuffix;
   
   File files = new File(fileDir+"/"+fileName);
   //上传
   file.transferTo(files);
   
  } catch (Exception e) {
   e.printStackTrace();
   return "上传失败";
  }
  return "上传成功";
 }
}

在启动类中配置controller可被扫描

@SpringBootApplication(scanBasePackages= {"com.example.demo.controller","com.example.demo.service","com.example.demo.interceptor","com.example.demo.handler","com.example.demo.job","com.example.demo.email"})

 

启动项目,访问

http://localhost:8080/toUpload

 

效果

Eclipse+SprignBoot实现文件上传_第3张图片

上传文件后

Eclipse+SprignBoot实现文件上传_第4张图片

上传成功

Eclipse+SprignBoot实现文件上传_第5张图片

来到项目所在目录

Eclipse+SprignBoot实现文件上传_第6张图片

可以通过http://localhost:8080/upload/8981b1aa-c37d-4f05-887a-d01e5a5d692b.gif

访问照片

Eclipse+SprignBoot实现文件上传_第7张图片

源码下载

https://download.csdn.net/download/badao_liumang_qizhi/11117921

你可能感兴趣的:(SpringBoot,SpringBoot实战项目)