0

尝试使用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() !!}
4

1 回答 1

0

您最好的选择是单击该错误,然后选择response选项卡以查看错误是什么。

由于您遇到错误403,我认为问题出在令牌上,您正在创建一个名为csrf-token但 Laravel 期望的字段_token

对于未来的表单,您可以使用{!! csrf_field() !}}将为您创建隐藏输入的助手。

于 2017-10-29T20:56:53.587 回答