Spring Boot 文件上传
Controller
接收一个 MultipartFile
类型参数,这个参数对应的就是用户需要上传的文件数据,其中包括了源文件的文件名和数据流,源文件的文件名可以通过如下方法获取:
@RestController
@RequestMapping("/common")
public class CommonController {
@PostMapping("/file")
public BaseResponse<String> userRegister(@RequestBody MultipartFile file) {
// 获取源文件的文件名
String originalFilename = file.getOriginalFilename();
// ...
return new BaseResponse<>(0, "文件上传成功");
}
}
完整流程:
@RestController
@RequestMapping("/common")
public class CommonController {
@PostMapping("/file")
public BaseResponse<String> userRegister(@RequestBody MultipartFile file) {
try {
// 写文件
String originalFilename = file.getOriginalFilename();
file.transferTo(new File("D:\\", originalFilename));
return new BaseResponse<>(0, "文件上传成功");
} catch (Exception e) {
throw new BusinessException(ErrorCode.SYSTEM_ERROR, "文件上传错误");
}
}
}
建议:文件存储目录可以在配置文件中设置,灵活性好。