Vue/Laravel/Vuetify-在数组中附加多个文件

Vue/Laravel/Vuetify-在数组中附加多个文件,laravel,vue.js,vuetify.js,Laravel,Vue.js,Vuetify.js,我有一个数据数组(父元素),其中每个元素都有自己的row.filesarray(子元素)。提交表单时,每个父数据数组只捕获一个子文件 模板 <v-form ref="form" @submit.prevent="save()"> <v-btn type="submit" >Submit</v-btn> <v-col cols="3" v-for="row in chunk" :key="row.id"> <v-file-in

我有一个数据数组(父元素),其中每个元素都有自己的
row.files
array(子元素)。提交表单时,每个父数据数组只捕获一个子文件

模板

<v-form  ref="form" @submit.prevent="save()">
  <v-btn type="submit" >Submit</v-btn>
  <v-col cols="3" v-for="row in chunk" :key="row.id">
    <v-file-input
      v-model="row.files"
      counter
      multiple
      small-chips
    >
    </v-file-input>
  </v-col>
</v-form>

 save() {
   for( let i = 0; i < this.rows.length; i++ ) {
     let formData = new FormData()
       if(this.rows[i].files) {
         for( let j = 0; j < this.rows[i].files.length; j++ ) {
           formData.append('file', this.rows[i].files[j])
         }
       }
      axios.post('/api/performance', formData, { headers: { 'Content-Type': 'multipart/form-data' }})
    }
 }
如果上载是独立的,而不是在阵列中,则它可以工作

for( let i = 0; i < this.files.length; i++ ) {
  let formData = new FormData();
  formData.append('file', this.files[i]);

  axios.post('/api/performance', formData, { headers: { 'Content-Type': 'multipart/form-data' }})
    })
  }
for(设i=0;i
附加到formData时,如果有多个文件,则应将
[]
附加到文件键:

formData.append('file[]', this.rows[i].files[j])
因此,它会附加到文件数组中,否则您将在每次迭代时重写
文件
属性

然后在后端,您可以访问如下文件:

$files = $request->file('file');
foreach ($files as $file) {

    // Do the work for each file

}

追加到formData时,如果有多个文件,则应将
[]
追加到文件键:

formData.append('file[]', this.rows[i].files[j])
因此,它会附加到文件数组中,否则您将在每次迭代时重写
文件
属性

然后在后端,您可以访问如下文件:

$files = $request->file('file');
foreach ($files as $file) {

    // Do the work for each file

}

非常感谢你!我不知道append也可以用
[]
声明,非常感谢!我不知道append也可以用
[]