alireza-moh / laravel-file-explorer
Laravel File Explorer 是一款用于Laravel应用程序中轻松文件管理的包,提供浏览、上传和删除文件等功能。适用于内容管理系统和文件存储解决方案。
v1.1.4
2024-08-10 08:23 UTC
Requires
- php: ^8.3
- ext-zip: *
- laravel/framework: ^11.0
- league/flysystem: ^3.0
Requires (Dev)
- orchestra/testbench: ^9.2
- pestphp/pest: ^2.34
- phpunit/phpunit: ^10.5.17
This package is auto-updated.
Last update: 2024-09-11 12:41:50 UTC
README
Laravel File Explorer 是一款用于Laravel应用程序中轻松文件管理的包,提供浏览、上传和删除文件等功能。
特性
- 前端使用VueJS 3构建
- 切换浅色/深色模式
- 利用Laravel Flysystem标准进行文件系统操作
- 支持本地、FTP、S3、Dropbox和其他存储选项
- 支持文件系统操作
- 对文件和目录执行CURD操作
- 多文件上传功能
- 下载文件
- 图片预览
- 视频播放器
- 音频播放器
- 代码编辑器(Codemirror)
- Laravel事件
- ACL
安装
使用composer安装Laravel File Explorer
composer require alireza-moh/laravel-file-explorer
发布配置文件
php artisan vendor:publish --tag=lfx.config
将前端下载到您的项目中
https://github.com/Alireza-Moh/laravel-file-explorer-frontend
npm i laravel-file-explorer
将FileExplorer组件添加到vue应用中
import LaravelFileExplorer from "laravel-file-explorer"; import "laravel-file-explorer/dist/style.css"; app.use(LaravelFileExplorer);
在vue组件中使用该组件
<LaravelFileExplorer :setting="{baseUrl: 'http://laravel-wrapper.localhost:8084/api/laravel-file-explorer/'}"/>
Laravel File Explorer 在模态框中
您可以使用LaravelFileExplorerInModal组件将文件浏览器显示为弹出窗口,该弹出窗口返回所选文件的数组
<LaravelFileExplorerInModal :setting="{baseUrl: 'http://laravel-wrapper.localhost:8084/api/laravel-file-explorer/'}" v-model="selectedFiles"/>
返回的数组结构如下
[ { diskName: "mobileTV", parent: "iphone", //the directory where the file is located name: "1000016101.jpg", path: "iphone/1000016101.jpg", type: "file", size: 2318331, formattedSize: "2.21 MB", url: "", extension: "jpg", isChecked: true, lastModified: "2024-08-06 11:27:34", subDir: [] }, { diskName: "mobileTV", parent: "iphone", //the directory containing the file name: "9ABUnSDn0obF94vBHi86kdT4yNJ4smoyaU3bYWM8.jpg", path: "iphone/9ABUnSDn0obF94vBHi86kdT4yNJ4smoyaU3bYWM8.jpg", type: "file", size: 1701551, formattedSize: "1.62 MB", url: "", extension: "jpg", isChecked: true, lastModified: "2024-08-05 19:32:33", subDir: [] //if the directory contains subdirectories, they will also be included in the returned array } ]
启用ACL
具有ACL(访问控制列表)的Laravel File Explorer 允许您控制每个用户可以对文件执行的操作。您可以给每个用户分配权限,如创建、读取、更新、删除、上传和下载文件。
设置:ACL文档
使用Dropbox作为Laravel存储
Laravel Flysystem集成提供了用于处理本地文件系统、SFTP和Amazon S3的简单驱动程序
Laravel文档:文档
- 要使用Dropbox,请通过composer安装
spatie/flysystem-dropbox
- 要使用AWS S3,请通过composer安装
league/flysystem-aws-s3-v3
- 要使用FTP,请通过composer安装
league/flysystem-ftp
- 要使用SFTP,请通过composer安装
league/flysystem-sftp-v3