# 删除文件
如果你开发微信小程序或公众号H5,请移步适合的文档
从对象存储空间删除文件,一次最多 50 个
本接口应在服务器端调用,详细说明参见服务端API。
# 请求地址
POST https://api.weixin.qq.com/tcb/batchdeletefile?access_token=ACCESS_TOKEN
Secret置换token需要在Get参数 access_token
传token令牌使用
如果使用微信云调用令牌获取的token,Get参数名 access_token
应替换为 cloudbase_access_token
如果使用开放接口服务则不需要传Get参数 access_token
# 请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token/cloudbase_access_token | string | 是 | 接口调用凭证 | |
env | string | 是 | 云环境ID | |
fileid_list | Array.<string> | 是 | 文件ID列表 |
# 返回值
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
delete_list | Array.<string> | 文件列表 |
# errcode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 请求成功 | |
-1 | 系统错误 | |
-1000 | 系统错误 | |
40014 | AccessToken 不合法 | |
40097 | 请求参数错误 | |
40101 | 缺少必填参数 | |
41001 | 缺少AccessToken | |
42001 | AccessToken过期 | |
43002 | HTTP METHOD 错误 | |
44002 | POST BODY 为空 | |
47001 | POST BODY 格式错误 | |
85088 | 该APP未开通云开发 | |
其他错误码 | 错误码 |
# 请求数据示例
{
"env": "test2-4a89da",
"fileid_list": [
"cloud://test2-4a89da.7465-test2-4a89da/A.png"
]
}
# 返回数据示例
{
"errcode": 0,
"errmsg": "ok",
"delete_list": [
{
"fileid": "cloud://test2-4a89da.7465-test2-4a89da/A.png",
"status": 0,
"errmsg": "ok"
}
]
}
# 案例讲解
此处用PHP实现一下,需要开启开放接口服务
参照快速入门的方法,部署一个服务,代码如下:
php文件,注意替换微信云托管环境ID
<?php
if(empty($_GET["cloudid"])) {
echo sprintf('没有要删除的文件');
} else {
$CLOUDID = $_GET["cloudid"];
if(empty(getenv("CBR_ENV_ID"))) $ENVID = 'wxrun-id'; // 可以忽略,在本地调试时可以添加
else $ENVID = getenv("CBR_ENV_ID");
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://api.weixin.qq.com/tcb/batchdeletefile',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{"env":"'.$ENVID.'","fileid_list": ["'.$CLOUDID.'"]}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
}
?>
dockerFile文件如下:
FROM php:7.3-apache
COPY index.php /var/www/html/
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
CMD ["apachectl", "-DFOREGROUND"]
将两个文件组成文件夹,以文件夹形式上传版本,并部署发布
接下来访问公网域名,就可以删除指定的文件了,访问地址参考如下,get参数 cloudid
传文件ID
# 访问自己的公网域名,此处只是示例,cloudID填真实存在的
https://werun-id.ap-shanghai.run.tcloudbase.com/?cloudid=cloud://test
获取的信息结构如下:
{
"errcode": 0,
"errmsg": "ok",
"delete_list": [
{
"fileid": "cloud://test",
"status": 0,
"errmsg": "ok"
}
]
}