目标:实现基本的文件上传(图片)+浏览器查看
1. 创建FileUploadController.java
package com.example.test001.controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String upload(String nickname, MultipartFile photo, HttpServletRequest request) throws IOException {
System.out.println(nickname);
//获取图片的原始名称
System.out.println(photo.getOriginalFilename());
// System.out.println(photo.getSize());
//取文件类型
System.out.println(photo.getContentType());
String path = request.getServletContext().getRealPath("/upload/");
System.out.println(path);
saveFile(photo, path);
return "success";
}
public void saveFile(MultipartFile photo, String path) throws IOException {
//判断存储的目录是否存在,如果不存在则创建
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
}
File file = new File(path + photo.getOriginalFilename());
photo.transferTo(file);
}
}
2. 修改配置文件,避免因为文件体积过大而引起的报错
server.port=8082
#spring.mvc.static-path-pattern=/img/**
#日志文件大小,默认更改为10MB
logging.logback.rollingpolicy.max-file-size=10MB
#修改静态资源存放位置
spring.web.resources.static-locations=/upload/
3. 上传图片
文件上传成功
4. 通过输入http://localhost:8082/1213.jpg ,访问上传的图片
访问成功
注意:
1. 上传文件完成之后,可以直接通过浏览器访问,重新启动项目的话,则需要再次上传图片才行;