1.配置路径为本项目路径下
@Configuration
public class Config implements WebMvcConfigurer {
String currentPath = System.getProperty("user.dir")+"/file";
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 注意这里的路径依你的操作系统可能需要调整
// registry.addResourceHandler("/**").addResourceLocations("file:/D:/file1/");
registry.addResourceHandler("/**").addResourceLocations("file:"+currentPath);
}
}
配置上传
@RestController
@RequestMapping("/file")
@CrossOrigin("*")
public class FileController {
@RequestMapping("/file")
public String uploadFile(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
try {
//配置路径
String fileName = file.getOriginalFilename();
long currentTimeMillis = System.currentTimeMillis(); //按照时间戳上传
fileName = currentTimeMillis + "." + fileName.split("\\.")[1];
String currentPath = System.getProperty("user.dir")+"/file";
System.out.println("创建的路径为:"+currentPath);
File file1 = new File(currentPath);
if (!file1.exists()) {
file1.mkdirs();
}
Path path = Paths.get(currentPath+"/" + fileName);
Files.copy(file.getInputStream(), path);
// 确保这里的路径与你MvcConfig中的配置一致
String baseUrl = ServletUriComponentsBuilder.fromCurrentContextPath().build().toUriString();
System.out.println("ip:"+baseUrl);
String fileAccessUrl = baseUrl + "/" + fileName;
return fileAccessUrl;
} catch (IOException e) {
e.printStackTrace();
return "文件上传失败!错误信息:" + e.getMessage();
}
}
}
配置允许上传最大的文件大小
server:
port: 10222
---
spring:
servlet:
multipart:
max-file-size: 20MB
---