【问题标题】:How to reduce size of image in laravel when upload?上传时如何减小laravel中图像的大小?
【发布时间】:2019-12-12 08:37:53
【问题描述】:

我想在上传图片时缩小电子商务网站上的图片尺寸。
我应该在下面的代码中添加哪个功能?

if (Input::hasFile('title_image')) {
    $Product = Input::file('title_image');
    Product->move(public_path() . '/../../products', $Product->getClientOriginalName() . ".png");
    $product->title_img = "products/" .$Product->getClientOriginalName() . ".png";
}

【问题讨论】:

    标签: php laravel image upload reduce


    【解决方案1】:

    您可以使用第三方软件包,例如

    spatie Laravel 图像优化器

    https://github.com/spatie/laravel-image-optimizer

    & 图像干预包http://image.intervention.io/(它提供了很多方式,而不仅仅是简单的调整大小)

    使用图像干预,在你的控制器中你可以做这样的事情

    if($request->hasFile('image')) {
    
        $image       = $request->file('image');
        $filename    = $image->getClientOriginalName();
    
        $image_resize = Image::make($image->getRealPath());              
        $image_resize->resize(300, 300);
        $image_resize->save(public_path('images/ServiceImages/' .$filename));
    
    }
    

    【讨论】:

    • 此方法适用于 laravel 5.7 或以上版本。你能帮我看看 5.5 版吗?
    • 我相信它会在 laravel 5.5 上完美运行,你安装了 Image Intervention 包吗? .你能分享你得到的错误吗?
    • 请阅读此链接的详细信息。 github.com/spatie/laravel-image-optimizer 这个包是 Laravel 5.7 及更高版本的 spatie/image-optimizer 的特定集成。
    最近更新 更多