fanxd / owl-minio
OwlAdmin MinIO 扩展。基于 OwlAdmin + AMIS 构建,用于弥补 MinIO 新版控制台在桶管理、权限管理等方面的不足,提供完整的 Bucket / Object 可视化管理能力。支持桶创建与删除、PUBLIC / PRIVATE / CUSTOM 权限识别与安全切换、文件上传与删除、图片预览及访问 URL 自动生成,适用于企业后台 业务、素材管理等场景。
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/fanxd/owl-minio
Requires
- php: >=8.0
- aws/aws-sdk-php: ^3.300
- slowlyo/owl-admin: *
README
基于 OwlAdmin 的 MinIO 管理扩展, 用于补充新版 MinIO Console 在后台管理场景下的不足。
📦 安装方式:
composer require fanxd/owl-minio:^1.0
欢迎反馈建议,觉得有用的话点个 ⭐ 支持一下。
.env 示例:
MINIO_ENDPOINT=http://127.0.0.1:9000 MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin
🧪 OwlAdmin 使用示例(ImageControl + MinIO 上传)
以下示例展示了如何在 OwlAdmin 表单中使用 AMIS ImageControl, 将图片直接上传至 MinIO,并返回可访问的图片地址。
表单示例代码
amis()->ImageControl('image', '图片') ->required(1) ->receiver([ 'url' => admin_url('buckets/logo/objects'), 'method' => 'post', ]) ->accept('.jpg,.png,.jpeg') ->maxSize(2 * 1024 * 1024) ->remark('支持 jpg / png / jpeg,大小不超过 2MB'),
上传流程说明
- 用户在 OwlAdmin 表单中选择图片
- AMIS 自动将文件 POST 到:
/admin-api/buckets/logo/objects - 后端通过 MinIO
putObject上传文件 - 接口返回图片访问 URL
- ImageControl 自动回填该 URL 到表单字段
返回数据示例
{
"status": 0,
"msg": "success",
"data": {
"value": "http://minio.example.com/logo/2024/01/xxx.jpg"
}
}
📄 License
MIT