欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

element-ui解决上传文件时需要携带请求数据的问题

最编程 2024-02-16 14:48:28
...
<script> import store from '../store' import axios from 'axios' import {getToken} from '../utils/auth.js' export default { name: 'UserInfo', data() { //选项 / 数据 return { uploadURL:'', userInfo:{}, userInfoObj:'', } }, methods: { beforeAvatarUpload(file) {// 上传头像成功前校验 const isJPG = file.type == 'image/png'||file.type=='image/jpg'||file.type=='image/jpeg'; const isLt2M = file.size / 1024 / 1024 < 1; if (!isJPG) { this.$message.error('上传头像图片只能是 JPG/JPEG/PNG 格式!'); } if (!isLt2M) { this.$message.error('上传头像图片大小不能超过 1MB!'); } return isJPG && isLt2M; }, handleUploadAvatar(param) { let fileObj = param.file // 相当于input里取得的files let fd = new FormData()// FormData 对象 fd.append('img', fileObj)// 文件对象 let url = this.uploadURL let config = { headers: { 'Content-Type': 'multipart/form-data', Token: getToken() } } axios.post(url, fd, config).then(res => { if(res.status === 200){ // 将服务端返回的数据传递给文件上传成功的函数 param.onSuccess(res.data) } }) }, handleAvatarSuccess(res, file) {// 上传头像成功后赋值 if(res.code == 200){ this.userInfoObj.avatar = res.data; }else{ this.$message.error('上传图片失败'); } } }, created() { this.uploadURL = store.state.baseURL + 'upload' } } </script>

推荐阅读