Я пытаюсь загрузить изображение в Vue.js и отправить его на сервер с помощью axios, но есть ошибка, которую я получаю.
Прежде всего:
Я пытаюсь отправить это как formData. Не в формате base64.
вот мой ввод:
<label>File
<input type="file" id="file" ref="file" v-on:change="onChangeFileUpload()"/>
</label>
<button v-on:click="submitForm()">Upload</button>
и вот мой слой данных и методы:
export default {
data() {
return {
file: ''
}
},
methods: {
submitForm(){
let formData = new FormData();
formData.append('file', this.file);
this.axios.post('apiURL',
formData,
{
headers: {
'Content-Type': 'multipart/form-data',
'token': '030303039jddjdj'
}
}
).then(function(data){
console.log(data.data);
})
.catch(function(){
console.log('FAILURE!!');
});
},
onChangeFileUpload(){
this.file = this.$refs.file.files[0];
}
}
}
и я пытаюсь показать изображение перед отправкой на сервер.
<img :src="file" />
но я не могу отобразить изображение
Я получаю ошибку:
[object%20File]:1 GET http://localhost:3000/[object%20File] 404 (Not Found)
где я ошибаюсь?