# 对象存储

对象存储的API操作共4个接口,分别是

  • 上传文件
  • 下载文件
  • 删除文件
  • 获取临时链接地址

API接口的操作以文件 cloudID 为中心, cloudID 是标识对象存储中一个特定文件的唯一ID

cloudID 的组成主要由 cloud://微信云托管环境ID存储桶ID文件路径 四部分构成

const werunid = 'wxrun-idnumber'
const storageid = '6537-wxrun-idnumber-1300000000'
const path = 'test/test.png'
const cloudID = `cloud://${werunid}.${storageid}/${path}`
// cloud://wxrun-idnumber.6537-wxrun-idnumber-1300000000/test/test.png

同一个微信云托管环境下的 文件 cloudID 前缀部分都相同,只有路径不同,所以在业务开发过程中,可以灵活拼接使用。

由于对象存储的大部分操作都在客户端中进行,所以文档详细列举了,在微信小程序公众号/普通网页SDK原生无SDK三种场景中的具体使用和注意事项。

# 常见问题

  1. COS 是否有目录操作的 API 接口?

对象存储中本身是没有文件夹和目录的概念的,控制台所展示的文件夹其实是以 / 结尾的空对象。新版本的 XML API 已经取消了目录相关的接口。

  1. 如何使用 API 删除目录/文件夹?

COS API 仅支持删除单个文件,如需删除整个目录,需要使用 GET Bucket(List Objects) 接口获取指定前缀(prefix 参数)的所有文件后,再使用 DELETE Object 进行删除。参考文档https://cloud.tencent.com/document/product/436/50743