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