云存储

39¥
类型 应用插件
版本 1.7.0
版本更新时间 29天前
大小 25.39 KB
开发商
开源技术小栈
评分

详细介绍

云存储应用插件,支持在 webman-admin 中设置云存储配置。用于向用户提供文件上传功能支持。

功能特性

云端 多文件上传 Base64图片上传 服务器文件上传
🍏 私有云 --
🍓 阿里云
🍋 腾讯云
🍇 七牛云
🍋 亚马逊(S3)

安装使用

请在 webman-admin 的插件市场安装

一键替换本地存储到云端存储

使用场景: webman-admin 默认文件、附件、图片上传等都是默认上传到webman-admin项目目录下即本地服务器,访问文件使用相对路径拼接访问。如果你不想全部存在在本地,而是把上传文件统一存储在云端对象存储,如阿里云OSS等对象存储

注意:需要webman-admin官方管理后台大于版本 >= v0.6.32

plugin/admin/config/middleware.php 中添加全局中间件如下

// 全局中间件
return [
    '' => [
        // ... 这里省略其它中间件
        \plugin\storage\app\middleware\StorageMiddleware::class
    ]
];

一键替换webman-admin所有文件上传就这么简单,配置一个中间件就可以啦!

接口使用

使用场景: 自定义接口上传文件直接调用即可,如:给APP写一个api接口

use plugin\storage\api\Storage;

/** 默认上传 */
Storage::uploadFile();

/** 指定上传(阿里云) */
Storage::disk(Storage::MODE_OSS)->uploadFile();

上传成功信息

[
    {
        "key": "webman",
        "origin_name": "常用编程软件和工具.xlsx",
        "save_name": "03414c9bdaf7a38148742c87b96b8167.xlsx",
        "save_path": "runtime/storage/03414c9bdaf7a38148742c87b96b8167.xlsx",
        "save_path": "/var/www/webman-admin/public/storage/03414c9bdaf7a38148742c87b96b8167.xlsx",
        "url": "http://www.tinywan.com/upload/e0a1cd61ae1f07c3e692e82f465204256fb5e390.png",
        "uniqid ": "03414c9bdaf7a38148742c87b96b8167",
        "size": 15050,
        "mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        "extension": "xlsx"
    }
    ...
]

字段描述

字段 描述 示例值
key 上传文件key webman
origin_name 原始文件名 常用编程软件和工具.xlsx
save_name 保存文件名 03414c9bdaf7a38148742c87b96b8167.xlsx
save_path 文件保存路径(绝对) /var/www/webman-admin/runtime/storage/03414c9bdaf7a38148742c87b96b8167.xlsx
url url访问路径 http://ai.tinywan.com/upload/03414c9bdaf7a38148742c87b96b8167.xlsx
unique_id uniqid 03414c9bdaf7a38148742c87b96b8167
size 文件大小 15050(字节)
mime_type 文件类型 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
extension 文件扩展名 xlsx

Base64 图片上传

使用场景: 前端直接截图(头像、Canvas等)一个Base64数据流的图片直接上传到云端

使用案例

请求参数

{
    "extension": "png",
    "base64": "data:image/jpeg;base64,/9j/4AAQSkxxxxxxxxxxxxZJRgABvtyQBIr/MPTPTP/2Q=="
}

请求案例(阿里云)

use Tinywan\Storage\Storage;

public function upload(Request $request)
{
    $base64 = $request->post('base64');
    $response = Storage::disk(Storage::MODE_OSS, false)->uploadBase64($base64,'png');
    var_dump($response);
}

响应参数

{
    "origin_name": "/var/www/webman-admin/runtime/storage/webman.png",
    "save_path": "storage/6edf04d7c26f020cf5e46e6457620220402213414.png",
    "url": "http://webman.oss.tinywan.com/storage/6ed9ffd54d0df57620220402213414.png",
    "unique_id": "6edf04d7c26f020cf5e46e6403213414",
    "size": 3505604,
    "extension": "png"
}

服务端文件上传

使用场景: 服务端导出文件需要上传到云端存储,或者零时下载文件存储。

使用案例

请求案例(阿里云)

use Tinywan\Storage\Storage;
$serverFile = runtime_path() . DIRECTORY_SEPARATOR . 'storage/webman.png';
$res = Storage::disk(Storage::MODE_OSS, false)->uploadServerFile($serverFile);

响应参数

{
    "origin_name": "/var/www/webman-admin/runtime/storage/webman.png",
    "save_path": "storage/6edf04d7c26f020cf5e46e6457620220402213414.png",
    "url": "http://webman.oss.tinywan.com/storage/6ed9ffd54d0df57620220402213414.png",
    "unique_id": "6edf04d7c26f020cf5e46e6403213414",
    "size": 3505604,
    "extension": "png"
}

支持上传SDK

  1. 阿里云对象存储
composer require aliyuncs/oss-sdk-php
  1. 腾讯云对象存储
composer require qcloud/cos-sdk-v5
  1. 七牛云云对象存储
composer require qiniu/php-sdk
  1. 亚马逊(S3)对象存储**
composer require league/flysystem-aws-s3-v3

联系方式

QQ:756684177
邮箱:756684177@qq.com
微信:Tinywan8

版本历史记录
1.7.0
29天前
[新增] 文件 MD5 去重上传,通过配置开关控制,避免同一文件重复存储
[新增] 设置页面增加"文件MD5校验"开关(校验/不校验)
[新增] S3 适配器引入 `use_path_style_endpoint` 配置项,支持 MinIO 路径风格端点
[新增] upload_check_md5_file() 函数,根据 MD5 查 upload 表返回已有文件信息
[新增] 所有适配器(Local/Cos/Oss/Qiniu/S3)上传前 MD5 查重,命中则跳过实际上传
[新增] storage_admin_upload_avatar/file/image/attachment 回调增加 MD5 已存在时的早返回处理
[优化] S3 uploadBase64 未判空导致 dirname 为空时路径多一个斜杠问题
[优化] getimagesize() 仅对本地路径调用,远程 URL 跳过避免 HTTP 阻塞
[优化] upload 表写入时补充 storage 字段存储文件 MD5 值
[修复] OssAdapter uploadFile/uploadBase64/uploadServerFile 错误处理 `&&` 改为 `||`,避免未定义键 Warning
1.6.2
29天前
[优化] 支持管理员鉴权
1.6.1
2026-05-24
[优化] PHP 8.4 弃用警告
1.6.0
2025-05-09
[优化] 代码重构和页面优化
评分及评论
5 满分5分
gxnnlj6 2026-05-23
PHP8.4会报function disk(?string $storage = null) 和 function getConfig(?string $name = null)错,要在 string 前面加上一个问号 ?才行
xiaoplus 2025-04-26
沃日,提示uploadBase64和uploadServerFile不支持
tianshen 2024-09-18
很好用的插件,遇到问题会耐心帮助解决,好评
katray608 2024-07-09
非常好用的插件,有问题作者会一直帮忙解决,很满意,好评
蛊毒 2024-02-24
非常好用,已购买,五星好评!
water2023 2024-02-22
支持~
🔝