file('file')->getMimeType(), 0, 12 ) == 'application/'){ $FileType = 'document'; } $modelType = Str::ucfirst($request->model_type); if ($request->model_id !== null && is_numeric($request->model_id)) { $Model = 'App\\'.$modelType; $Object = $Model::findOrFail($request->model_id); if ($Object) { if($FileType == 'image'){ $Image = $request->file('file'); $Manager = new ImageManager(array('driver' => 'imagick')); $InterventionImage = $Manager->make($Image); $Mime = explode('/', $InterventionImage->mime()); $FileName = time().'.'.$Mime[1]; $Path = 'media'.'/TestResults'.'/'.$Object->id .'/'.$FileName; Storage::disk('public')->makeDirectory('TestResults'.'/'.$Object->id); $InterventionImage->save(public_path($Path)); } else if($FileType == 'document'){ $UploadedFile = $request->file('file'); $FileName = time().'_'.$request->file('file')->getClientOriginalName(); $Path = 'media'.'/TestResults'.'/'.$Object->id; Storage::disk('public')->makeDirectory('TestResults'.'/'.$Object->id); $UploadedFile->move($Path, $FileName); $Path = $Path . '/' . $FileName; } $MediaData = [ 'model_id' => $Object->id, 'batch_id' => $request->batch_id, 'model_type' => 'App\\'.$modelType, 'path' => $Path, 'user_id' => auth('api')->user()->id, 'file_name' => $FileName, 'file_type' => $FileType ]; $Media = Media::create($MediaData); } } else { if($FileType == 'image'){ $Image = $request->file('file'); $Manager = new ImageManager(array('driver' => 'imagick')); $InterventionImage = $Manager->make($Image); $Mime = explode('/', $InterventionImage->mime()); $FileName = time().'.'.$Mime[1]; $Path = 'media'.'/Temp'.'/'.$request->batch_id .'/'.$FileName; Storage::disk('public')->makeDirectory('Temp'.'/'.$request->batch_id); $InterventionImage->save(public_path($Path)); } else if($FileType == 'document'){ $UploadedFile = $request->file('file'); $FileName = time().'_'.$request->file('file')->getClientOriginalName(); $Path = 'media'.'/Temp'.'/'.$request->batch_id; Storage::disk('public')->makeDirectory('Temp'.'/'.$request->batch_id); $UploadedFile->move($Path, $FileName); $Path = $Path . '/' . $FileName; } $MediaData = [ 'model_id' => null, 'batch_id' => $request->batch_id, 'model_type' => 'App\\'.$modelType, 'path' => $Path, 'user_id' => auth('api')->user()->id, 'file_name' => $FileName, 'file_type' => $FileType ]; $Media = Media::create($MediaData); } return \MessageResponse::success(trans('messages.success_message'), null, $Media); } public function deleteFile(Request $request) { if ($request->model_id != null && is_numeric($request->model_id)) { $Media = Media::findOrFail($request->media_id); if($Media){ if (\File::exists(public_path($Media->path))) { \File::delete(public_path($Media->path)); } $Media->delete(); } } else { $Media = Media::findOrFail($request->media_id); if($Media){ if(\File::exists(public_path($Media->path))){ \File::delete(public_path($Media->path)); } $Media->delete(); } } return \MessageResponse::success(trans('messages.success_message')); } }