Hướng dẫn cài đặt unisharp/laravel-filemanager thư viện upload ảnh cho Laravel

0

Các tính năng

  • Hỗ trợ upload ảnh với CKEditor và TinyMCE
  • Có nút upload ảnh riêng
  • Validate dữ liệu được tải lên
  • Cắt và chỉnh sửa kích thước của ảnh
  • Public và private thư mục ảnh cho chế độ Multi-User
  • Chỉnh sửa routes, middleware, views, đường dẫn ảnh
  • Hỗ trợ tạo file và ảnh:
  • Hỗ trợ đa ngôn ngữ: ar, bg, de, el, en, es, fa, fr, it, he, hu, nl, pl, pt-BR, pt_PT, ro, ru, sv, tr, zh-CN, zh-TW

Cài đặt

Cài đặt  Unisharp/laravel-filemanager thông qua composer và chạy các câu lệnh sau:

composer require unisharp/laravel-filemanager
php artisan vendor:publish --tag=lfm_config
php artisan vendor:publish --tag=lfm_public
php artisan storage:link

Trong config/app.php thêm nhưng dòng sau:

'providers' => [
    ...
    UniSharp\LaravelFilemanager\LaravelFilemanagerServiceProvider::class,
    Intervention\Image\ImageServiceProvider::class,
],

Và thêm alias:

'aliases' => [
    ...
    'Image' => Intervention\Image\Facades\Image::class,
],

Publish package’s config và assets:

php artisan vendor:publish --tag=lfm_config
php artisan vendor:publish --tag=lfm_public

Xóa Cache:

php artisan route:clear
php artisan config:clear

Chỉnh lại APP_URL trong file .env đúng đường dẫn web của bạn, cấp quyền ghi cho thư mục file & ảnh được cấu hình trong file config/lfm.php

Cấu hình package

File cấu hình của Laravel-filemanager được lưu trong config/lfm.php:

-Với Routes:

  • use_package_routes: Sử dụng routes của package, mặc định là true, nếu false bạn phải định nghĩa lại tất cả các routes của package .
  • middlewares: Các routes mặc định sẽ phải đi qua các middleware được định nghĩa ở đây.
  • url_prefix: Định nghĩa tiền tố url.
  • allow_multi_user: Cho phép tạo lưu file & ảnh riêng cho mỗi user
  • allow_share_folder: Tạo thư mục chia sẻ.

-Thư mục lưu trữ của package:

  • base_directory: Tùy chỉnh thư mục lưu (public, resource, storage …).

-Giao diện hiển thị:

  • images_startup_view: Kiểm hiển thị giao diện ảnh: ‘grid’, ‘list’.
  • files_startup_view: Kiểm hiển thị giao diện file: ‘grid’, ‘list’.

-Upload / Validation:

  • rename_file: nếu true, file và ảnh tải nên sẽ được đổi tên.
  • should_validate_size: file và ảnh tải nên sẽ được verify size.
  • max_image_size: size tối đa cho ảnh.
  • max_file_size: size tối đa cho file.
  • should_validate_mime: file và ảnh tải nên sẽ được verify kiểu file
  • valid_image_mimetypes: Khai báo các kiểu file được phép tải

Sử dụng

routes/web.php

Route::group(['prefix' => 'laravel-filemanager', 'middleware'], function () {
    \UniSharp\LaravelFilemanager\Lfm::routes();
});

view.blade.php

<div class="col-lg-12 col-md-12 col-xs-12">
    <div class="input-group">
        <span class="input-group-btn">
            <a id="lfm" data-input="thumbnail" data-preview="holder" class="btn btn-primary" style="color: white;"> <i class="fa fa-picture-o"></i> CHỌN ẢNH </a>
        </span>
        <input id="thumbnail" class="form-control" type="text" name="image" required readonly />
    </div>
    <img id="holder" style="margin-top: 15px; max-height: 100px;" />
</div>

<script  data-src="/vendor/laravel-filemanager/js/stand-alone-button.js"></script>
<script>
    $("#lfm").filemanager("image");
</script>
Leave A Reply

Your email address will not be published.