Catch exception if the file can’t be handled via Intervention

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe 2023-03-07 15:56:36 -08:00
parent 182a5ea5fc
commit 45b5a8b6ab

View file

@ -7,7 +7,9 @@ use enshrined\svgSanitize\Sanitizer;
use Intervention\Image\Facades\Image; use Intervention\Image\Facades\Image;
use App\Http\Traits\ConvertsBase64ToFiles; use App\Http\Traits\ConvertsBase64ToFiles;
use Illuminate\Http\UploadedFile; use Illuminate\Http\UploadedFile;
use Storage; use Illuminate\Support\Facades\Storage;
use Intervention\Image\Exception\NotReadableException;
class ImageUploadRequest extends Request class ImageUploadRequest extends Request
{ {
@ -106,10 +108,18 @@ class ImageUploadRequest extends Request
\Log::debug('Not an SVG or webp - resize'); \Log::debug('Not an SVG or webp - resize');
\Log::debug('Trying to upload to: '.$path.'/'.$file_name); \Log::debug('Trying to upload to: '.$path.'/'.$file_name);
try {
$upload = Image::make($image->getRealPath())->resize(null, $w, function ($constraint) { $upload = Image::make($image->getRealPath())->resize(null, $w, function ($constraint) {
$constraint->aspectRatio(); $constraint->aspectRatio();
$constraint->upsize(); $constraint->upsize();
}); });
} catch(NotReadableException $e) {
\Log::debug($e);
$validator = \Validator::make([], []);
$validator->errors()->add($form_fieldname, trans('general.unaccepted_image_type', ['mimetype' => $image->getClientMimeType()]));
throw new \Illuminate\Validation\ValidationException($validator);
}
// This requires a string instead of an object, so we use ($string) // This requires a string instead of an object, so we use ($string)
Storage::disk('public')->put($path.'/'.$file_name, (string) $upload->encode()); Storage::disk('public')->put($path.'/'.$file_name, (string) $upload->encode());