Laravel 5 无法正确提交Vue自定义输入文件组件
我有一个用于浏览文件的组件,用于选择要上载的文件。 以下是我的组件:Laravel 5 无法正确提交Vue自定义输入文件组件,laravel-5,vue.js,vuejs2,vue-component,quasar-framework,Laravel 5,Vue.js,Vuejs2,Vue Component,Quasar Framework,我有一个用于浏览文件的组件,用于选择要上载的文件。 以下是我的组件: <template> <label class="file-select"> <div class="select-button"> <span v-if="value">Selected File: {{value.name}}</span> <span v-el
<template>
<label class="file-select">
<div class="select-button">
<span v-if="value">Selected File: {{value.name}}</span>
<span v-else>Select File</span>
</div>
<input type="file" @change="handleFileChange"/>
</label>
</template>
<script>
export default {
props: {
value: File
},
methods: {
handleFileChange(e) {
this.$emit('input', e.target.files[0])
}
}
}
</script>
<p>Select Image: <bim-fileinput v-model="file"></bim-fileinput></p>
提交后,我在控制器中获得picture属性,但作为空数组。
所以我试着用控制台打印它。
log('File'+JSON.stringfy(this.File))
我有文件{}
作为一个空的物体
因此,我需要找出代码中的问题在哪里,或者如何正确地处理它
提前感谢。
此.file
是的实例,它在json编码时始终是{}
axios中的问题是,必须使用FormData
发送文件
const formData = new FormData();
formData.append('picture', this.file);
axios.post('/api/employees', formData, {
headers: {
'Content-Type': 'multipart/form-data',
// ...
}
}) // ...
const formData = new FormData();
formData.append('picture', this.file);
axios.post('/api/employees', formData, {
headers: {
'Content-Type': 'multipart/form-data',
// ...
}
}) // ...