Maison > Questions et réponses > le corps du texte
P粉1535039892023-09-05 11:18:07
Vous pouvez essayer d'utiliser le package Intervention Image dans Laravel pour redimensionner avant de télécharger.
Installez le package :
作曲家需要干预/图像
Ajoutez le code suivant au début du fichier pour importer les classes requises :
使用 InterventionImageImageManagerStatic 作为图像;
使用 IlluminateSupportStr;
Modifiez la méthode handleImage comme suit :
private function handleImage($image) { $exploded = explode(',', $image); $decoded = base64_decode($exploded[1]); $image = Image::make($decoded); // Resize the image to a maximum size of 500px on the longest side $image->resize(500, null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); }); // Set the file extension based on the original image format if (Str::contains($exploded[0], 'jpeg')) { $extension = 'jpg'; } else { $extension = 'png'; } $fileName = Str::random() . '.' . $extension; $path = public_path() . '/images/products/' . $fileName; $image->save($path); return '/images/products/' . $fileName; }
https://github.com/Intervention/image
J'espère que cela vous aidera