云存储

39¥
类型 应用插件
版本 1.5.2
版本更新时间 2024-12-18
大小 22.81 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.5.2
2024-12-08
[优化] 七牛云配置移除endpoint,避免PHP8.4保存设置提示TypeError错误
1.5.1
2024-11-16
[新增] S3 对MinIO存储服务支持
[优化] S3 目录多一个斜杠问题
1.5.0
2024-11-14
[新增] 支持一键替换 webman-admin 所有文件上传。只需配置一个中间件就可以啦!
1.4.0
2024-11-09
[新增] 基础配置支持文件扩展名配置,如:`png,pdf,jpeg,mp4`
评分及评论
5 满分5分
tianshen 2024-09-18
很好用的插件,遇到问题会耐心帮助解决,好评
katray608 2024-07-09
非常好用的插件,有问题作者会一直帮忙解决,很满意,好评
拉姆 2024-02-24
非常好用,已购买,五星好评!
water2023 2024-02-22
支持~
shuopeng666 2024-02-05
好用 ,支持 ,靠谱
Tinywan 2024-01-15
五星好评!实用
×
🔝