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

v1.0.1 2026-01-25 13:08 UTC

This package is auto-updated.

Last update: 2026-01-25 13:50:06 UTC


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'),

上传流程说明

  1. 用户在 OwlAdmin 表单中选择图片
  2. AMIS 自动将文件 POST 到:
    /admin-api/buckets/logo/objects
    
  3. 后端通过 MinIO putObject 上传文件
  4. 接口返回图片访问 URL
  5. ImageControl 自动回填该 URL 到表单字段

返回数据示例

{
  "status": 0,
  "msg": "success",
  "data": {
    "value": "http://minio.example.com/logo/2024/01/xxx.jpg"
  }
}
1 2 3

📄 License

MIT