阅读(220)
赞(13)
QQ小程序 存储
2020-07-09 15:37:39 更新
API指引
上传文件
在小程序端可调用 qq.cloud.uploadFile 方法进行上传:
qq.cloud.uploadFile({
cloudPath: 'example.png', // 上传至云端的路径
filePath: '', // 小程序临时文件路径
success: res => {
// 返回文件 ID
console.log(res.fileID)
},
fail: console.error
})
上传成功后会获得文件唯一标识符,即文件 ID,后续操作都基于文件 ID 而不是 URL。
下载文件
可以根据文件 ID 下载文件,用户仅可下载其有访问权限的文件:
qq.cloud.downloadFile({
fileID: '', // 文件 ID
success: res => {
// 返回临时文件路径
console.log(res.tempFilePath)
},
fail: console.error
})
删除文件
可以通过 qq.cloud.deleteFile 删除文件:
qq.cloud.deleteFile({
fileList: ['a7xzcb'],
success: res => {
// handle success
console.log(res.fileList)
},
fail: console.error
})
更详细的 API 可参考小程序端及后端存储 API 文件。
组件支持
支持在 image、audio 等组件中传入云文件 ID
换取临时链接
可以根据文件 ID 换取临时文件网络链接,文件链接有有效期为两个小时:
qq.cloud.getTempFileURL({
fileList: ['cloud://xxx.png'],
success: res => {
// fileList 是一个有如下结构的对象数组
// [{
// fileID: 'cloud://xxx.png', // 文件 ID
// tempFileURL: '', // 临时文件网络链接
// maxAge: 120 * 60 * 1000, // 有效期
// }]
console.log(res.fileList)
},
fail: console.error
})
管理文件
在云开发控制台中,选择文件管理标签页,可以在此看到云存储空间中所有的文件,还可以查看文件的详细信息、控制存储空间的读写权限。
文件名命名限制
- 不能为空
- 不能以/开头
- 不能出现连续/
- 编码长度最大为850个字节
- 推荐使用大小写英文字母、数字,即[a-z,A-Z,0-9]和符号 -,!,_,.,* 及其组合
- 不支持 ASCII 控制字符中的字符上(↑),字符下(↓),字符右(→),字符左(←),分别对应 CAN(24),EM(25) ,SUB(26),ESC(27)
- 如果用户上传的文件或文件夹的名字带有中文,在访问和请求这个文件或文件夹时,中文部分将按照 URL - Encode 规则转化为百分号编码。
- 不建议使用的特殊字符: ` ^ " \ { } [ ] ~ % # \ > < 及 ASCII 128-255 十进制
- 可能需特殊处理后再使用的特殊字符: , : ; = & $ @ + ?(空格)及ASCII 字符范围:00-1F 十六进制(0-31 十进制)以及7F(127 十进制)
组件支持
小程序组件支持传入云文件 ID,支持列表如下:
组件 | 属性 |
---|---|
image | src |
video | src、poster |
cover-image | src |
接口 | 参数 |
---|---|
getBackgroundAudioManager | src |
createInnerAudioContext | src |
previewImage | urls、current |