2017-10-29 11 views
0

dropzone.jsでファイルをアップロードしようとしたときに奇妙な問題が発生しました。 public > file-archiveというフォルダにすべてのファイルをアップロードしたかったのです。フォルダが存在しない場合は、アップロードされたファイルが表示されませんが、要求は正常に処理されます。dropzone.jsでLaravelファイルをアップロード

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); 
} 

この後、フォルダが作成されます(手動で作成して作成メソッドをコメントアウトしてみました)。私は、フォルダが存在する場合、ファイルをアップロードしようとすると、私はこれを取得:

enter image description here

マイルート:

Route::post('file-archive', '[email protected]')->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() !!} 

答えて

0

あなたの最良のオプションそのエラーをクリックし、responseタブを選択して、エラーの内容を確認します。

403というエラーが発生しているので、問題はトークンであり、csrf-tokenというフィールドを作成していますが、Laravelは_tokenを期待しています。

今後のフォームでは、非表示入力を作成するヘルパー{!! csrf_field() !}}を使用できます。

関連する問題