<Upload :before-upload="handleBeforeUploadCover" action="//jsonplaceholder.typicode.com/posts/">
<Button icon="ios-cloud-upload-outline">请上传封面</Button>
<img :src="formData.cover" v-if="formData.cover">
</Upload>
<Button @click="handleUploadCover">确认上传</Button>
问题再于要使用FormData加上headers自动填充
methods: {
handleBeforeUploadCover: function(cover) {
this.formData.coverFile = cover
return false;
},
handleUploadCover: function() {
let formData = new FormData()
formData.append('file', this.formData.coverFile)
uploadImageService(formData)
.then(successResponse => {
this.formData.cover=successResponse.data.data
})
.catch(failResponse => {
console.log(failResponse)
})
},
handlerSubmit: function() {
},
}
import {upload} from '../../utils/axios.js'
export function uploadImageService(data) {
return upload(
'/image/upload',
data,
)
}
export default {
uploadImageService,
}
// post请求封装
export function upload(url, data = {}) {
console.log(data);
return new Promise((resolve,reject) => {
httpService({
url: url,
method: 'post',
data: data,
}).then(res => {
resolve(res);
}).catch(err => {
reject(err);
})
})
}