1. 知识点
1.1 输入流:将数据传输至本机内存的流,即将内存以外的数据(硬盘、网络...)读入内存。
输出流:将内存中的数据传输至内存以外的流。
1.2 文件上传
技术本质:客户端将文件数据(二进制数据)传输给服务器,服务器使用输入流接收上传数据,并使用输出流将数据存放到服务器的某个位置(硬盘、数据库等)。
文件上传必须使用form-data格式。
针对案例项目《OA云协作》,实现上传员工头像
1)服务端实现
i. 开发文件上传接口
i.i URL:/info/emp/photo
i.ii 提交参数:文件数据、工号(参数名e_id)
i.iii 请求方式:post
ii. 在Spring的Controller中,文件数据使用MultipartFile类型接收。
iii. 定义一个常量表示文件存放的目录。
iv. 不使用原始文件名,应当自动生成一个不会重复的文件名。
iv.i 定义一个long型静态属性,初始值为当前时间毫秒数。
iv.ii 以后该值每次增1作为文件名称(需要注意线程同步)
ii. 开发文件下载接口
ii.i URL:/info/emp/photo
ii.ii 提交参数:工号(参数名e_id)
ii.iii 请求方式:get
2. 上传方法
myUpload(c){
console.log('1');
var fd = new FormData();
fd.append('file', c.file);
fd.append('e_id',this.uploadEmp.e_id);
let config = {
headers: {
'Content-Type': 'multipart/form-data'
}
}
this.$axios.post('http://localhost/info/emp/photo', fd,config).then( res => {
console.log(res);
}).catch( res => {
console.log(res)
})
}
Java Spring Boot + Vue 实习项目16:头像文件上传
最新推荐文章于 2023-07-09 19:57:51 发布