WebMvcConfigurer配置添加resources映射到本地路径
package com.example.springfileupload3.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* WebConfig
*
* @Description
* @Author wzq
**/
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// /files/**为resources下的路径
// /files/** 映射到本地的路径 file:D:/work/temp/
// 文件上传到file:D:/work/temp/路径后,可根据ip:port/files/文件名称
// 例如 http://127.0.0.1:8080/files/logo.png 来进行访问
registry.addResourceHandler("/files/**")
.addResourceLocations("file:D:/work/temp/");
}
}
FileUploadController文件上传
package com.example.springfileupload3.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
/**
* 文件上传
*
* @Description
* @Author wzq
**/
@RestController
public class FileUploadController {
@RequestMapping("/fileUpload")
public String fileUpload(@RequestParam("file") MultipartFile file) throws IOException {
String filePath = "D:/work/temp/" + file.getOriginalFilename();
file.transferTo(new File(filePath));
return "success";
}
}