# 删除文件
从对象存储空间删除文件,一次最多 50 个
本文档适用于微信小程序中使用,如果你不是微信小程序,请移步适合的文档
# 请求参数
字段 | 说明 | 数据类型 | 默认值 | 必填 |
---|---|---|---|---|
fileList | 云文件ID列表 | Object | - | 是 |
config | 配置 | Object | - | 否 |
success | 成功回调 | |||
fail | 失败回调 | |||
complete | 结束回调 |
# config 对象定义
字段 | 说明 | 数据类型 |
---|---|---|
env | 使用的环境 ID,填写后忽略 init 指定的环境 | String |
# success 返回参数
字段 | 说明 | 数据类型 |
---|---|---|
fileList | 文件列表 | Object |
errMsg | 成功为 ok,失败为失败原因 | String |
# fileList 的结构
属性 | 类型 | 说明 |
---|---|---|
fileID | string | 云文件 ID |
status | number | 状态码,0 为成功 |
errMsg | string | 成功为 ok,失败为失败原因 |
# fail 返回参数
字段 | 说明 | 数据类型 |
---|---|---|
errCode | 错误码 | Number |
errMsg | 错误信息,格式 downloadFile:fail msg | String |
# 使用示例
# 1. Promise 风格
wx.cloud.deleteFile({
fileList: ['cloud://test.png'], // 对象存储文件ID列表,最多50个,从上传文件接口或者控制台获取
}).then(res => {
console.log(res.fileList)
}).catch(err => {
console.error(err)
})
# 2. Callback 风格
wx.cloud.deleteFile({
fileList: ['cloud://test.png'], // 对象存储文件ID列表,最多50个,从上传文件接口或者控制台获取
success: res => {
console.log(res.fileList)
},
fail: err => {
console.error(err)
},
complete: res => {
console.log(res)
}
})
# 3. 完整示例
在小程序的任何一个页面js替换如下代码,cloud://test.png
替换成自己存在的文件 cloudID
,环境ID也需要替换成自己的
将在页面载入时,会自动启动删除任务
传入封装的删除方法,可以是一个CloudID字符串,也可以是一个数组
Page({
async onLoad() {
const result = await this.deleteFile('cloud://test.png')
console.log(result)
},
/**
* 删除微信云托管对象存储文件
* @param {*} fileID 对象存储文件ID,可以是单个fileID,也可以是ID列表
*/
async deleteFile(fileID){
const list = typeof fileID === 'string' ? [fileID] : fileID
return await wx.cloud.deleteFile({
fileList: list,
config: {
env: 'wxrun-id' // 需要替换自己的环境ID
}
})
}
})
# 资源复用
如果是资源复用,需要先进行初始化,初始化过程是异步,需要在业务中加以处理
在小程序app.js中粘贴如下代码,记得修改相关的信息,封装deleteFile可以参考上面例子,唯一不同点就是wx.cloud替换,其他基本一致
App({
logger:require('./log.js'),
async onLaunch() {
const c1 = new wx.cloud.Cloud({
resourceAppid: 'wx886699112233', // 环境所属的账号appid
resourceEnv: 'prod-weruntest', // 微信云托管的环境ID
})
await c1.init()
this.cloud = c1 // 在页面js中,可以使用getApp().cloud
this.cloud.deleteFile({
fileList: ['cloud://test.png'], // 对象存储文件ID列表,最多50个,从上传文件接口或者控制台获取
}).then(res => {
console.log(res.fileList)
}).catch(err => {
console.error(err)
})
}
})