Feb 23, 2020
0
Level 1
"Intervention Image" upload image file Corrupted.
I'm using "Intervention Image" to uploading an image in my Laravel project. Image upload successfully but the image file corrupted. Now how I fix this problem.
Create.blade.php
<form action="{{ route('admin.category.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="form-group form-float">
<div class="form-line">
<input type="text" id="name" class="form-control" name="name">
<label class="form-label">Category Name</label>
</div>
</div>
<div class="form-group">
<input type="file" accept="image/*" name="image">
</div>
<button type="submit" class="btn btn-primary m-t-15 waves-effect">Submit</button>
<a href="{{ route('admin.category.index') }}" type="button" class="btn btn-danger m-l-5 m-t-15 waves-effect">Back</a>
</form>
Category Controller
public function store(Request $request)
{
$this ->validate($request,[
'name' => 'required|unique:categories',
'image' => 'required|mimes:jpg,jpeg,png,bmp',
]);
//Get Image From Form
$image = $request->file('image');
$slug = str_slug($request->name);
if (isset($image))
{
//make unique name for image
$currentdate = Carbon::now()->toDateString();
$imagename = $slug.'-'.$currentdate.'-'.uniqid().'.'.$image->getClientOriginalExtension();
//Check Category folder if exist
if (!Storage::disk('public')->exists('category'))
{
Storage::disk('public')->makeDirectory('category');
}
//resize image for category & Upload
$category = Image::make($image)->resize(1600,479);
Storage::disk('public')->put('category/'.$imagename,$category);
//Check Category Slider folder if exist
if (!Storage::disk('public')->exists('category/slider'))
{
Storage::disk('public')->makeDirectory('category/slider');
}
//resize image for category slider & Upload
$slider = Image::make($image)->resize(500,333);
Storage::disk('public')->put('category/slider/'.$imagename,$slider);
}
else
{
$imagename = "default.png";
}
$category = new Category();
$category->name = $request->name;
$category->slug = $slug;
$category->image = $imagename;
$category->save();
Toastr::success('Category Successfully Save','Success');
return redirect()->route('admin.category.index');
}
Please or to participate in this conversation.