/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['file' => 'required']); $file = $request->file('file'); if ($file->isValid()) { $name = $file->getClientOriginalName(); $key = 'documents/' . $name; Storage::disk('s3')->put($key, file_get_contents($file)); $document = new Document(); $document->name = $name; $document->file = $key; $document->save(); $document->requestPreview(); } return redirect('documents'); }