آپلود تصاویر در لاراول با بسته ImageUp

۱۰ مهر ۱۳۹۷

Laravel ImageUp یک بسته برای آپلود خودکار، تغییر اندازه و برش تصاویر می باشد. این بسته با استفاده از Trait به eloquent model با نام HasImageUploads اضافه می شود. در مثال زیر در مدل User شما دو ستون در جدول دیتابیس خود تعریف می کنید.

    
namespace App;

use QCod\ImageUp\HasImageUploads;
use Illuminate\Database\Eloquent\Model;

class User extends Model {
    use HasImageUploads;

    // assuming `users` table has 'cover', 'avatar' columns
    // mark all the columns as image fields
    protected static $imageFields = [
        'cover', 'avatar'
    ];
}
    

این بسته بصورت خودکار تصاویر را آپلود و مسیر آن را در پایگاه داده ذخیره می کند. همچنین مسیرهای موجود را بروز می کند و تصاویر قدیمی را تمیز و پاک می کند.

شما در فایل imageFields$ می توانید برای نحوه آپلود و تغییر اندازه تصاویر، تنظیمات مورد نظر خود را اعمال کنید.

    
// all the images fields for model
protected static $imageFields = [
    'avatar' => [
        // width to resize image after upload
        'width' => 200,

        // height to resize image after upload
        'height' => 100,

        // set true to crop image with the given width/height and you can also pass arr [x,y] coordinate for crop.
        'crop' => true,

        // what disk you want to upload, default config('imageup.upload_disk')
        'disk' => 'public',

        // a folder path on the above disk, default config('imageup.upload_directory')
        'path' => 'avatars',

        // placeholder image if image field is empty
        'placeholder' => '/images/avatar-placeholder.svg',

        // validation rules when uploading image
        'rules' => 'image|max:2000',

        // override global auto upload setting coming from config('imageup.auto_upload_images')
        'auto_upload' => false,

        // if request file is don't have same name, default will be the field name
        'file_input' => 'photo'
    ],
    'cover' => [
        //...
    ]
];
    

شما همچنین می توانید به صورت دستی آپلود تصاویر خود را انجام دهید، فقط قبل از آن مطمئن شوید آپلود اتوماتیک در مدل شما غیر فعال است.

    
        $user = User::findOrFail($id);
        $user->uploadImage(request()->file('cover'), 'cover');
    

برای نصب بسته با استفاده از composer از دستور زیر استفاده می کنیم.

    
        composer require qcod/laravel-imageup
    

برای مشاهده بسته در GitHub روی لینک زیر کلیک فرمایید.

Laravel ImageUp

 نویسنده:حمید شاه محمدی
 تعداد مشاهده خبر:(1052)
 هر روز از مقاله های جدید طراحی سایت در کانال تلگرام ما با خبر شوید

 میانگین امتیازات:
 
  تعداد رای دهندگان: {{ count }}
نظرات:

{{ x }}
{{ alert }}

نویسنده:{{ com.name }}
{{ com.body }}
{{ com.created_at }}