云存储

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

详细介绍

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

功能特性

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

安装使用

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

webman-admin 使用

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

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

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

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

接口使用


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

支持上传SDK

1. 阿里云对象存储

composer require aliyuncs/oss-sdk-php

2. 腾讯云对象存储

composer require qcloud/cos-sdk-v5

3. 七牛云云对象存储

composer require qiniu/php-sdk

4. 亚马逊(S3)对象存储

composer require league/flysystem-aws-s3-v3

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"
}

联系方式

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

版本历史记录
1.5.1
10天前
[新增] S3 对MinIO存储服务支持
[优化] S3 目录多一个斜杠问题
1.5.0
12天前
[新增] 支持一键替换 webman-admin 所有文件上传。只需配置一个中间件就可以啦!
1.4.0
17天前
[新增] 基础配置支持文件扩展名配置,如:`png,pdf,jpeg,mp4`
1.3.1
17天前
[优化] S3 对象存储服务命名空间
评分及评论
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
五星好评!实用
×
🔝