file = $file; } public function getFile() { return view('admin/fileManager.newFile'); } /** * Uploads any file * * @param UploadFileRequest $request * * @return \Illuminate\Http\RedirectResponse */ public function postFile(UploadFileRequest $request) { if (!$request->hasFile('file')) { return $this->invalidUpload('noFileSpecified'); } try { $uploadedFile = $this->file->upload($request->file('file'), $request); // we do not want to redirect if ($request->ajax()) { return $this->jsonResponse($uploadedFile); } // upload was not performed via ajax, redirect user return redirect() ->route('upload.file') ->with('success', trans('admin/fileManager.uploadSuccessfull')); } catch (FileException $e) { return $this->invalidUpload('invalidFile'); } } protected function invalidUpload($message) { return redirect() ->route('upload.file') ->with('error', trans('admin/fileManager.' . $message)); } /** * Send response about uploaded file as JSON * * @param $uploadedFile * * @return \Illuminate\Http\JsonResponse */ private function jsonResponse($uploadedFile) { $filename = $uploadedFile['file']->getFilename(); $url = config('app.upload_path') . DIRECTORY_SEPARATOR . $filename; $data = [ 'filename' => $filename, 'url' => $url, 'id' => $uploadedFile['id'] ]; return response()->json($data); } }