文件上传与下载
基于Springboot + Vue前后端分离
项目源码:
- 前端
springboot-file - 后端
springboot-file-process
流程梳理
文件上传
前端提交文件,后端使用
MultipartFile接收后端新建File并保存到对应的目录上(此时文件后端服务一般与文件存储放在同一个linux服务器上)
如果需要回显,存储成功后,向前端返回文件路径。此时该路径必须能够通过http直接访问
- 还有一种方法,返回图片的base64格式,放到img标签里面
文件下载
前端提交文件名到后端
后端搜索到文件名,通过文件流写入到
HttpServletResponse的OutputStream中前端通过
window.location接收或者是通过以下方式设置图片的Base64,其中
imgurl是vue的动态绑定变量1
<img :src="'data:image/png;base64,'+imgurl" alt="">
代码实例
前端代码
upload.html
1 | <html> |
后端代码
SwaggerConfig.java
1 | package com.file.config; |
FileController.java
1 | package com.file.controller; |
参考网站