Download the PHP package quansitech/qscmf-formitem-object-storage without Composer
On this page you can find all versions of the php package quansitech/qscmf-formitem-object-storage. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download quansitech/qscmf-formitem-object-storage
More information about quansitech/qscmf-formitem-object-storage
Files in quansitech/qscmf-formitem-object-storage
Package qscmf-formitem-object-storage
Short Description qscmf formbuilder item cos oss tos
License MIT
Informations about the package qscmf-formitem-object-storage
qscmf-formitem-object-storage
上传文件至云服务商的一体化组件
安装
特性
- 支持上传至不同供应商
- 支持文件查重,避免重复上传同一个文件
替换 oss/cos 上传组件用法
- 移除 oss/cos 扩展包
- 安装此扩展包
- 执行数据迁移
- 添加数据迁移文件,修改 qs_file_pic 数据表,赋值 vendor_type字段
- 按照使用修改配置
- 根据支持组件用法修改后台的上传组件
- 若前台使用了 ossuploader ,参考 osuploader 用法修改
- 若前后端开发分离的项目,前端按照自定义组件用法修改上传组件
- think-core v13版本将不兼容 ueditor oss 的旧配置,请参考以下文档修改
使用
-
配置使用的供应商,若同时配置,则优先级按顺序依次降低
-
调用组件时设置 options
-
请求 policy 等信息接口的参数
-
修改 upload_config.php 的上传配置
- 添加 env OS_VENDOR_TYPE,全局配置
-
-
供应商可选值及其相关配置
名称 供应商 aliyun_oss 阿里云 tengxun_cos 腾讯云 volcengine_tos 火山引擎 -
aliyun_oss
-
env 配置
名称 ALIOSS_ACCESS_KEY_ID ALIOSS_ACCESS_KEY_SECRET ALIOSS_HOST ALIOSS_BUCKET ALIOSS_ENDPOINT ALIOSS_REGION -
upload_config.php 需要添加的配置
名称 是否必填 备注 oss_host 是 upload_oss_host 否 上传用域名 -
tengxun_cos
-
env 配置
名称 COS_SECRETID COS_SECRETKEY COS_HOST COS_BUCKET COS_ENDPOINT COS_REGION -
upload_config.php 需要添加的配置
名称 是否必填 备注 cos_host 是 upload_cos_host 否 上传用域名 -
volcengine_tos
-
env 配置
名称 VOLC_ACCESS_KEY VOLC_SECRET_KEY VOLC_HOST VOLC_BUCKET VOLC_ENDPOINT VOLC_REGION -
upload_config.php 需要添加的配置
名称 是否必填 备注 tos_host 是 upload_tos_host 否 上传用域名
upload_config.php 通用配置
名称 是否必填 备注 os_upload_meta 否 设置 HTTP 标准头域,如 Content-Type 等 -
-
配置查重功能,0 关闭,1 开启,默认为 1,若同时配置,则优先级按顺序依次降低
-
调用组件时设置 options
- 添加 env OS_FILE_DOUBLE_CHECK,全局配置
-
-
添加自定义参数到回调
- 在请求地址追加自定义参数
- 使用钩子注入自定义参数
-
修改上传成功逻辑
参数说明
参数 是否必选 类型 说明 res 是 bool 返回 true 则需要返回修改上传逻辑并返回 file_data file_data 是 array 返回内容,一般为上传后的文件信息
支持组件
ColumnItem
-
上传文件:file_os
- 上传图片:picture_os
FormItem
-
上传音频:audio_os/audios_os
-
上传文件:file_os/files_os
-
上传图片:picture_os/pictures_os
-
上传裁剪后的图片:picture_os_intercept/pictures_os_intercept
-
富文本上传文件: ueditor
addFormItem第七个参数,传递指定的上传处理地址, 地址参数说明
参数名称 类型 是否必填 备注 os string 是 恒为1 type string 否 与上传配置 UPLOAD_TYPE_XXX 的 XXX 对应,如富文本 ueditor vendor_type array 否 供应商类型 配置说明
-
aliyun_oss
- upload_config.php 需要添加的配置
名称 是否必填 备注 oss_endpoint 否 -
volcengine_tos
- upload_config.php 需要添加的配置
名称 是否必填 备注 tos_endpoint 否
-
自定义组件用法
此扩展包使用的是直传功能,主要分为以下步骤:
- 服务端实现签名,返回请求的路径等信息
- 客户端发起POST请求,直传文件到云服务商。
参考文档
| 名称 | 供应商 |
|---|---|
| aliyun_oss | 阿里云-服务端签名直传 |
| tengxun_cos | 腾讯云-Web 端直传实践 |
| volcengine_tos | 火山引擎 PostObject 和 Post 表单预签名 |
用法
-
向服务端请求 policy 等信息
接口地址:/extends/objectStorage/policyGet
请求方法
GET
请求参数
参数 是否必选 类型 说明 type 是 string 与 upload_config.php 中 UPLOAD_TYPE_XXX 的 XXX 对应,如图片 image;文件 file vendor_type 否 string 供应商名称 title 是 string 文件标题 hash_id 否 string 文件 MD5 信息,可用于查重 file_type 是 string 文件 mime-type 类型,例如 image/png jump 否 string 为0则不使用腾讯云的重定向功能,仅 vendor_type 为 tengxun_cos有效 返回示例
正常
-
提交了 hash_id 且已存在文件,则直接返回文件信息
-
返回不同供应商接口所需参数
-
aliyun_oss
- tengxun_cos
jump 为 0
- volcengine_tos
-
异常
以接口实际返回值为准
-
-
使用 Post 方法向云服务商发送文件上传请求
-
aliyun_oss
- 请求地址为步骤1返回的 host
- 按照官方文档组装表单字段
-
tengxun_cos
- 请求地址为步骤1返回的 url
- 按照官方文档组装表单字段
-
volcengine_tos
- 请求地址为步骤1返回的 url
- formData 需与步骤1返回的 params 一致
-
返回示例
正常
- 上传成功
异常
以接口实际返回值为准
-
类使用说明
FormItem\ObjectStorage\Lib\Common 帮助函数类使用说明
FormItem\ObjectStorage\Lib\Context 供应商生成类使用说明
FormItem\ObjectStorage\Lib\Vendor 供应商类使用说明
服务端上传文件
用法
配置说明
-
aliyun_oss
-
upload_config.php 需要添加的配置
名称 是否必填 备注 oss_endpoint 否
-
-
volcengine_tos
-
upload_config.php 需要添加的配置
名称 是否必填 备注 tos_endpoint 否
-
os_uploader 上传图片
介绍
图片裁剪上传功能,内置cropper.js,可配置是否裁剪。
功能:
-
可配置是否裁剪
-
可以定义裁剪尺寸,裁剪比例
-
可以定义限制文件后缀、大小以及是否允许选取重复文件
-
限制上传张数
-
可自定义提示函数
-
裁剪上传图会默认转成jpg;png透明背景默认转成白色
-
支持文件查重,避免重复上传同一个文件
简单使用
osuploader option 说明
备注:
- cropper:
-
回调说明:
- beforeUpload : 当选中文件时的回调。若返回false,则不添加选中的文件
- filePerUploaded : 每个文件上传完成,都会触发此回调
- uploadCompleted : 若多选上传选中3个图,则3个图完成上传才触发此回调
- uploadError : 上传出错
- deleteFile : 删除图片
osHooks
介绍
上传到云服务商js帮助类的钩子
钩子说明
-
genOsParam:请求 policyGet 接口并根据不同的供应商组装对应的上传参数
参数说明
参数 是否必选 类型 说明 vendorType 是 string 供应商名称 url 是 string 请求url,一般为获取上传签名的接口地址 fileName 是 string 文件标题 file 是 File 文件blob hashId 否 string 文件MD5信息,用于查重 params 是 object 用于接收返回值的对象 将结果注入 params.osParams 的属性,具体属性说明
参数 是否必选 类型 说明 url 是 string 上传请求的地址 multipart_params 是 object 请求的参数,一般放在 FormData 里
Antd-admin富文本使用
自定义回调地址
.env 文件中加入配置项 OBJECT_STORAGE_CALLBACK_URL,如:OBJECT_STORAGE_CALLBACK_URL=http://your_domain.com/extends/ObjectStorage/callBack
All versions of qscmf-formitem-object-storage with dependencies
tiderjian/think-core Version ^15.2.0
aliyuncs/oss-sdk-php Version ^2.0
volcengine/volc-sdk-php Version ^1.0
qcloud/cos-sdk-v5 Version >=2.0
alibabacloud/sts-20150401 Version ^1.0
quansitech/ve-tos-php-sdk Version ^1.0