/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function upload(ImageFormRequest $request, $id) { if (Input::hasFile('file')) { $file = $request->file('file'); $filename = uniqid() . $file->getClientOriginalName(); $original = 'assets\\images\\jobs\\original\\' . $filename; $thumbnail = 'assets\\images\\jobs\\thumbnail\\' . $filename; $resize = 'assets\\images\\jobs\\resize\\' . $filename; if (!File::exists('assets\\images\\jobs\\original')) { File::makeDirectory('assets\\images\\jobs\\original', $mode = 0777, true, true); if (!File::exists('assets\\images\\jobs\\thumbnail')) { File::makeDirectory('assets\\images\\jobs\\thumbnail', $mode = 0777, true, true); } if (!File::exists('assets\\images\\jobs\\resize')) { File::makeDirectory('assets\\images\\jobs\\resize', $mode = 0777, true, true); } } // upload new image $img = Image::make($file->getRealPath()); $img->save($original); // original $img->fit('150', '150'); // thumbnail (grab) $img->save($thumbnail); $img->resize('300', '300'); // resize and set true if you want proportional image resize $img->save($resize); $img->destroy(); $job = $this->jobs->find($id); $image = $job->images()->create(['job_id' => $request->input('job_id'), 'file_name' => $filename, 'file_size' => $file->getClientSize(), 'file_mime' => $file->getClientMimeType(), 'file_path' => '/assets/images/jobs/original/' . $filename, 'created_by' => \Auth::user() ? \Auth::user()->id : 0]); return response()->json($image, 200); } else { return response()->json(false, 200); } }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\RedirectResponse */ public function destroy($id) { $this->job_tags->findOrFail($id)->delete(); return \Redirect::route('admin.job_tags.index')->withMessage(trans('tag.tags-controller-successfully_deleted')); }
<?php Route::group(['namespace' => 'App\\Http\\Controllers', 'middleware' => ['web', 'throttle']], function () { //'prefix'=>'api/v1', Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'admin'], 'namespace' => 'Admin'], function () { Route::resource('job_tags', 'JobTagController', ['only' => ['index', 'show', 'create', 'store', 'edit', 'update', 'destroy']]); Route::resource('jobs', 'JobController', ['only' => ['index', 'show', 'create', 'store', 'edit', 'update', 'destroy']]); Route::resource('job_categories', 'JobCategoryController', ['only' => ['index', 'show', 'create', 'store', 'edit', 'update', 'destroy']]); Route::post('jobs/{jobs}/upload', ['as' => 'admin.jobs.upload', 'uses' => 'JobController@upload']); Route::get('jobs/{jobs}/image-upload', ['as' => 'admin.jobs.image-upload', 'uses' => 'JobController@getUpload']); }); }); View::composer('*', function ($view) { $job_categories = \App\JobCategory::where('parent_id', '=', 0)->get(); // if (!$job_categories) { $job_categories = []; } $job_tags = \App\JobTag::with('jobs')->get(); if (!$job_tags) { $job_tags = []; } $view->with(compact('job_categories', 'job_tags')); });