Загрузка файла Laravel с помощью dropzone.js

У меня странная проблема при загрузке файлов dropzone.js. Я хотел загрузить все файлы в public > file-archiveпапку. Если папка не существует, запрос проходит нормально, хотя я не вижу загруженный файл.

public function store(Request $request)
{
    $this->createArchiveFolder();
    Storage::disk('archive')->put($request->file->getClientOriginalName() . $request->file->getClientOriginalExtension(), $request->file);
}

protected function createArchiveFolder()
{
    if (!file_exists(public_path() . '/file-archive'))
        File::makeDirectory(public_path() . '/file-archive', 777);
}

После этого создается папка (я попытался создать ее вручную и прокомментировать метод create). Если я попытаюсь загрузить файл, когда папка существует, я получаю следующее:

введите описание изображения здесь

Мой маршрут:

Route::post('file-archive', 'FileArchiveController@store')->name('file-archive.store');

и моя передняя часть:

{!! Form::open(['route' => 'file-archive.store', 'class' => 'dropzone', 'files'=>true, 'id'=>'real-dropzone']) !!}

<div class="dz-message"></div>

<div class="fallback">
    <input name="file" type="file" multiple/>
</div>

<div class="dropzone-previews" id="dropzonePreview"></div>

<h4 style="text-align: center;color:#428bca;">Drop files in this area <span
            class="glyphicon glyphicon-hand-down"></span></h4>

{!! Form::hidden('csrf-token', csrf_token(), ['id' => 'csrf-token']) !!}

{!! Form::close() !!}

php,forms,laravel,dropzone,

0

Ответов: 1


0

Лучше всего нажать эту ошибку, а затем выбрать responseвкладку, чтобы узнать, что такое ошибка.

Поскольку вы получаете сообщение об ошибке 403, я думаю, проблема связана с токеном, вы создаете поле, csrf-tokenно Laravel ожидает _token.

Для будущих форм вы можете использовать помощник, {!! csrf_field() !}}который создаст для вас скрытый ввод.

PHP, формы, Laravel, Dropzone,
Похожие вопросы
Яндекс.Метрика