Laravel: возникли проблемы при обработке нескольких файлов для загрузки - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть загрузчик изображений, который позволяет использовать несколько изображений в интерфейсе (vue. js). Когда я отправляю его на Laravel, он не попадает в мой foreach l oop. Я проследил, чтобы журналы print выполнялись до тех пор, пока не запустятся циклы foreach, но я не уверен, почему он не проходит через каждый из них, если это не правильный путь.

** JS **

let formData = new FormData();
this.files.forEach((x,index) => {
    formData.append("file", x)
});

axios.post('/admin/upload', formData, {
    headers: {
        'Content-Type': 'multipart/form-data',
    }
})

**Laravel **

print "outside";
if ($request->hasFile('file')) {
    print "inside";
    $files = $request->file('file');
    $stack = [];
    foreach ($files as $file) {
        print "Looping";
        $fileName = Storage::put('/trace/', file_get_contents($file->getRealPath()), ['visibility' => 'public']);
        array_push($stack, $fileName);
    }
    return response()->json($stack);
}

1 Ответ

1 голос
/ 30 апреля 2020

Поскольку вы загружаете несколько файлов, ключ формданных file на самом деле должен быть массивом, подобным этому - formData.append("file[]", x)

...