最简单的文件上传接口
@Controller
public class ExcelCtrl {
@ResponseBody
@RequestMapping(value = "upload", method = RequestMethod.POST)
public Result importExcel(@RequestParam MultipartFile file, HttpServletResponse response) throws IOException {
try(FileOutputStream os = new FileOutputStream("C://a.text")){
org.apache.commons.io.IOUtils.copy(file.getInputStream(), os);
}
return Result.succeed();
}
}
javascript
let formData = new FormData();
formData.append('file', file);
// 构建一个 FormData,然后通过ajax、axios 等工具提交
表单
<form action="upload" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit">
</form>
新手觉得上传文件很难,一般是弄错方向了:
-
IOUtils.copy()这一步骤,不使用工具,自己编码实现,代码好长一坨。
-
文件的管理逻辑没想好,项目中每个人各写各的,一般来说,一个系统只要一个文件上传接口就够用。