Laravel从深度嵌套的Vue.js对象访问和存储文件

时间:2018-10-05 14:34:10

标签: laravel vue.js file-upload vuex

我在Vue.js和Vuetify中创建了一个多步骤表单,该表单收集多个用户信息,包括为每个用户上传的文件。动态添加用户,然后将用户添加到处于状态的对象,直到用户在此过程结束时立即提交整个表单为止。

Vuex状态如下所示: enter image description here

directors[n].id_file包含上传的文件对象。

添加完每个表单后,我会将表单提交到Laravel端点。每个文件都需要正确匹配对象中的合适人选。表单是这样提交的:

const fd = new FormData();
fd.append('business', store.state);

this.completeButton = 'Processing...';
axios.post('/businesses', fd, {
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
  .then(response => {
    console.log(response);
    this.completeButton = 'Completed';

  })
  .catch(error => {
    console.log(error)
    this.completeButton = 'Failed';
  })

当我使用Log::debug($request->all());在Laravel中输出提交的表单数据时,我只会得到:

[2018-10-05 14:05:56] local.DEBUG: array (
  'business' => '[object Object]',
)  

如果我只是简单地发送普通状态,而不使用fd.append(),则所有表单数据都将提交,但 file_id 数组为空。

如何访问对象中深层嵌套的文件并将其存储在存储文件夹中?

0 个答案:

没有答案