第三方Object Storage Service对象云存储服务(简称:OSS),该插件优化Discuz!X用户附件存储功能,内置bucket命令接口,支持采集调用接口。
提供第三方OSS云存储SDK有:阿里云OSS【组件名:oss-aliyun-v2】,腾讯云COS【组件名:cos-qcloud-v4】,百度云BOS【组件标识:bos-baidu】,七牛云KODO,又拍云USS【组件标识:uss-upyun-v2】,微软云Azure,Amazon S3等。
Use third-party cloud storage services, support: Ali OSS, Tencent COS, Sina SCS, Baidu BOS, Qiniu KODO, Upyun USS, etc..
可选装云存储组件:
(推荐)+阿里云OSS,海量、安全、低成本、高可靠的云存储服务;
+腾讯云COS,安全稳定、海量、便捷、低延迟、低成本;
+网易云NOS,可享受50G免费云存储空间和20GB/月免费下载流量。
+Ucloud对象存储 UFile,可享受20GB免费云存储空间和20GB/月免费下载流量。
+Amazon S3,安全、持久且可扩展的对象存储基础设施
特色介绍:
支持二次编辑文章同步附件,支持图片和附件存储,存储图片效果更佳。
本插件直接调用各大合作网站的API,不经过其它平台,更安全,更快速。
本插件支持电脑版和手机版,支持后台设置的远程附件接口,
支持系统内置的ftpcmd或插件内置的bucket命令
插件架构说明:主框架+组件方式
步骤一:您可以选择安装需要的组件,自已申请认证的key和secret,
步骤二:进行组件配置,
1、插件“设置”中填好OSS对应的网址、key、secret,组件标识等,确认后保存。
2、插件“远程附件”中启用远程和填写“远程访问URL”即可,保存。
3、插件“接口测试”点击“TEST”,提示“PUT ~ 200”表示成功推送。
步骤三:访问您的网站,上传图片保存即可。
插件使用环境
PHP运行环境至少为PHP 5.4.x 以上版本,推荐使用PHP 5.6.x,7.1.x
第三方调用接口说明
方式一:支持原生ftpcmd,在你需要使用ftpcmd的文件内加入一行:
include_once DISCUZ_ROOT.'./source/plugin/onexin_cloudstorage/bucket/discuz_ftp_ext.php';
方法二:仿原生_ftpcmd,插件内置的bucket命令,在需要使用的文件中加入一行:
include_once DISCUZ_ROOT.'./source/plugin/onexin_cloudstorage/function_bucket.php';
必看:
插件中设置的OSS标识如下:
阿里云标识:oss-aliyun-v2
百度云标识:bos-baidu
腾讯云标识:cos-qcloud-v4
又拍云标识:uss-upyun-v2
七牛云标识:qos-qiniu
UCloud标识:ufile-ucloud-v1
############阿里,获取AK:https://usercenter.console.aliyun.com/#/manage/ak
阿里终端机采用nginx,默认有gzip压缩,大于5M不明显。
############腾讯,项目密钥管理:https://console.cloud.tencent.com/cam/capi/project
存储桶名称由[自定义名称]-[开发商 APPID]构成
############百度,https://console.bce.baidu.com/iam/#/iam/accesslist
必填对应节点域名,
############UCloud,创建令牌
https://console.ucloud.cn/ufile/token
//-----------第三方调用接口说明------------------------
方式一:支持原生ftpcmd,在你需要使用ftpcmd的文件内加入一行:
include_once DISCUZ_ROOT.'./source/plugin/onexin_cloudstorage/bucket/discuz_ftp_ext.php';
方法二:仿原生_ftpcmd,插件内置的bucket命令,在需要使用的文件中加入一行:
include_once DISCUZ_ROOT.'./source/plugin/onexin_cloudstorage/function_bucket.php';
用法:
// _ftpcmd上传文件
_ftpcmd('upload', 'forum/201907/20/115603ikzk8zrkenpplfrf.jpg');
// _ftpcmd删除文件
_ftpcmd('delete', 'forum/201907/20/115603ikzk8zrkenpplfrf.jpg');
// bucket上传文件
_bucket_put($key, $file);
// bucket删除文件
_bucket_delete($key);