文件上传接口

[!DANGER|label: 此案例建立在入门工程后端开发的基础上,请完成入门开发指南中的后端工程搭建再进行此案例。 后端工程搭建]

在入门开发指南中搭建的todo工程中的controller路径下创建一个FileUploadController
fileUploadController.png

  1. @RestController
  2. @RequestMapping("/test")
  3. @Api(tags = "测试文件上传接口")
  4. public class ApiController {
  5. // 注入文件上传工具类
  6. @Autowired
  7. private FileUploadUtils fileUploadUtils;
  8. @PostMapping(value = "/fileUpload")
  9. @ApiOperation(value = "文件上传", notes = "文件上传开放接口")
  10. public String fileUpload(@RequestParam("file") MultipartFile file) throws IOException {
  11. // 这个方法可以获得上传文件名,如img.png
  12. String originalFilename = file.getOriginalFilename();
  13. // 调用文件上传的工具类中的fileUpload方法即可实现文件上传,上传的位置是后端工程配置文件中中配置的本地静态资源路径
  14. fileUploadUtils.fileUpload(file);
  15. // 也可以设置保存路径——myPath参数,如D:\\test\\upload或/usr/yourname/upload
  16. // fileUploadUtils.fileUpload(file,myPath);
  17. // 为了兼容IE9,响应不能用json对象,否则会出现下载json文件的提示。采用拼接json字符串的方式使文件上传组件的回调函数生效
  18. return "{\"code\":\"200\",\"msg\":\"\",\"filename\":\"" + originalFilename + "\"}";
  19. }
  20. }

启动前后端工程,查看效果

[!DANGER|label: 使用上传功能前请确认后端静态资源路径已经配置完成,配置静态资源路径请查看【后端开发指南】-【工程初始化】-【添加配置文件】 静态资源路径配置]

启动前后端工程后,浏览器输入http://localhost:8082/eip-admin-starter-views/views/page/fileUpload,查看效果
showUpload.png