云存储
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
- 阿里云对象存储
composer require aliyuncs/oss-sdk-php
- 腾讯云对象存储
composer require qcloud/cos-sdk-v5
- 七牛云云对象存储
composer require qiniu/php-sdk
- 亚马逊(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
[新增] 设置页面增加"文件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
支持~