微信云托管对象存储用于存放数据或文件,一般用于较大数据或较大文件上传时的中转对象,避免直接上传到服务端,影响服务性能。
对象存储
开通了云托管平台后会自动开通对象存储功能。简单理解就是一个文件目录即可。
存储文件
- 文件名称:如果上传时未指定,会自动生成唯一标识
- File ID:小程序一般通过该信息访问,格式
cloud://{对象存储域名}.${对象存储桶信息}/${对象存储目录}/${文件名称}
- 详情中还有文件的访问地址
存储权限
所有对象文件的权限统一管理,有以下几种类型:
- 所有用户可读,仅创建者可读写
- 仅创建者可读写
- 所有用户可读
- 所有用户不可读写
- 自定义安全规则
存储配置
显示存储桶信息,以及安全访问域名,缓存配置等等。
访问
访问方式分为:
- API方式:即通过http协议管理存储对象
- SDK方式:通过官方COS-SDK管理存储对象,实际内部也是使用的api方式
小程序访问
上传文件
采用wx.cloud.uploadFile
云函数上传文件,可以自动根据小程序上传到指定云托管对象存储中。
字段 | 说明 | 数据类型 | 默认值 | 必填 |
---|---|---|---|---|
cloudPath | 云存储路径,命名限制见文件名命名限制 | String | - | 是 |
filePath | 要上传文件资源的路径 | String | - | 是 |
config | 配置 | Object | - | 否 |
success | 成功回调 | |||
fail | 失败回调 | |||
complete | 结束回调 |
export const uploadObjFile = (filePath,fileName)=>{
if(fileName == undefined){
fileName = filePath.slice(filePath.lastIndexOf("/") + 2 , filePath.length)
}
return new Promise((success,fail)=>{
wx.cloud.uploadFile({
// config:config,
cloudPath:`${
cloud_path}/${
fileName}`, // 云托管对象存储中的文件路径
filePath:filePath, // 本地文件
success:success, //