Данные формы vuejs, отправленные через API, не видны на контроллере laravel - PullRequest
0 голосов
/ 27 августа 2018

посмотрите

vuejs

data() {
    return {

     url: '/api/client/document/upload',

        }
    },

вычислено

attachment() {
            return  {
                slug: 'testing',
                test_type[enter image description here][1]: (this.individual === 1)? 'transfer_individual': 'transfer_corporate',
                application_id: this.client_investment_id
            };

метод загрузки

upload: function () {

            if(!this.validateForm()) {
                Message.warning({ message: 'Complete the form and proceed' });
                return;
            }

            if(!this.$refs.upload.uploadFiles[0]) {
                Message.warning({ message: 'Upload the form and proceed' });
                return;
            }

            console.log('data', this.attachment);

            this.$refs.upload.submit();
        },

laravel на стороне контроллера

 public function uploadDocument()
 {
    $input = request()->all();

    dd($input);
 }

есть файл, загружаемый на указанный URL;

когда я получаю dd из контроллера, я получаю application_idиз нуля, но если я console.log перед отправкой могу просмотреть мои данные.что я могу делать не так.

вывод console.log вывод dd

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

это форма ... обратите внимание, что она берет с собой данные вложения из вычисляемого свойства ..

 <el-upload
                    class="upload-demo"
                    drag
                    :action=url
                    ref="upload"
                    :data=attachment
                    :headers="defaultHeaders"
                    :on-error="errorOnUpload"
                    :on-success="showUploadSuccess"
                    :accept=extensions
                    :thumbnail-mode="false"
                    :auto-upload="false">
            </el-upload>

<el-button type="success" size="mini" @click="upload" class="el-icon-upload">upload</el-button>

я заметил, что я установил application_id, который должен быть установлен в хранилище, когда клиент применяет, но теперь я имею дело с редактированием, он принимает состояние по умолчанию application_id, которое является нулевым

0 голосов
/ 27 августа 2018

Передайте запрос в качестве параметра функции и вызовите метод all() в экземпляре запроса.

 public function uploadDocument(Request $request)
 {
     $input = $request->all();

     dd($input);
 }

Чтобы взять и сохранить файл с его именем, объединенным с отметкой времени, в папке public / images, попробуйте

//Assuming you have the file input name as `photo` 
if ($file = $request->file('photo')) {

  $name = time() . $file->getClientOriginalName();
  $file->move('images/', $name);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...