Hướng dẫn cài đặt unisharp/laravel-filemanager thư viện upload ảnh cho Laravel
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>