Ubah saiz imej sebelum muat naik dalam Laravel 5.8
P粉608647033
P粉608647033 2023-09-04 12:56:10
0
1
600
<p>Saya mempunyai fungsi ini untuk memuat naik imej melalui api dalam Laravel: </p> <pre class="brush:php;toolbar:false;">pribadi function handleImage($image) { $meletup = meletup(',', $imej); $decoded = base64_decode($exploded[1]); if (Str::contains($exploded[0], 'jpeg')) { $extension = 'jpg'; } lain { $extension = 'png'; } $fileName = Str::random() '.' . $path = public_path() '/images/products/' $fileName; $file = file_put_contents($path, $decoded); $imej = '/imej/produk/' $fileName; kembalikan $imej; }</pre> <p>Bagaimanakah saya boleh mengubah saiz imej kepada panjang sisi maksimum 500 piksel sebelum memuat naik? </p>
P粉608647033
P粉608647033

membalas semua(1)
P粉153503989

Anda boleh cuba menggunakan pakej Imej Intervensi dalam Laravel untuk mengubah saiz sebelum memuat naik.

  1. Pasang pakej:

    作曲家需要干预/图像

  2. Tambah kod berikut pada permulaan fail untuk mengimport kelas yang diperlukan:

    使用 InterventionImageImageManagerStatic 作为图像;

    使用 IlluminateSupportStr;

  3. Ubah suai kaedah handleImage seperti berikut:

    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

Semoga ia membantu anda

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan