Skip to content

Instantly share code, notes, and snippets.

@Russkazkin
Last active July 22, 2020 12:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Russkazkin/4f363d551a31d2b790d7bd5736ad7efc to your computer and use it in GitHub Desktop.
Save Russkazkin/4f363d551a31d2b790d7bd5736ad7efc to your computer and use it in GitHub Desktop.
laravel summernote backend
<?php
namespace App\Http\Controllers\Shared;
use App\Http\Controllers\Controller;
use App\Http\Requests\Summernote\SummernoteDeleteRequest;
use App\Http\Requests\Summernote\SummernoteUploadRequest;
use Storage;
class SummernoteController extends Controller
{
public function upload(SummernoteUploadRequest $request)
{
$images = [];
foreach ($request['files'] as $image) {
$img = $image->store('summernote');
$images[] = $img;
$pic = \Image::make('storage/' . $img);
$width = $pic->width();
if($width > 800) {
$pic->resize(800, null, function ($constraint) {
$constraint->aspectRatio();
});
}
$pic->save();
}
return $images;
}
public function delete(SummernoteDeleteRequest $request)
{
return Storage::delete($request['file']);
}
}
<?php
namespace App\Http\Requests\Summernote;
use Illuminate\Foundation\Http\FormRequest;
class SummernoteDeleteRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'file' => 'string',
];
}
}
<?php
namespace App\Http\Requests\Summernote;
use Illuminate\Foundation\Http\FormRequest;
class SummernoteUploadRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'files.*' => 'image',
];
}
}
Route::post('summernote/upload', [SummernoteController::class, 'upload'])->name('summernote.upload');
Route::post('summernote/delete', [SummernoteController::class, 'delete'])->name('summernote.delete');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment