ali oss 设计特别的坑爹 , 真想 x 他 ma 啊 ,
上传文件随便传 , 想删除的时候 , 要你挨个去删除 ,
600g图片 , 那不得删哭 ?
只能用脚本了 ,
易语言的开源模块看了2个 ,没有找到 获取列表的 ,
所以用nodejs
[JavaScript] 纯文本查看 复制代码 let OSS = require('ali-oss');
const Promise = require('_any-promise@1.3.0@any-promise');
let client = new OSS({
// yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
region: 'oss-cn-shanghai',
accessKeyId: '---',
accessKeySecret: '---',
bucket: '---',
});
async function deleteFile(arr) {
try {
let result = await client.deleteMulti(arr, { quiet: true });
return { ok: true, result }
} catch (e) {
console.log(e);
return { ok: false }
}
}
function sleep(t = 1000) {
return new Promise((res, rej) => {
setTimeout(() => {
res()
}, t);
})
}
async function del_all(params) {
let a = 0
while (1) {
let arr = await client.listV2({
"max-keys": 1000,
// prefix,
});
let arr1 = arr.objects || []
console.log('arr: ', arr1.length, a++);
if (!arr1.length) break;
let arr2 = arr1.map(x => x.name)
//await sleep(100)
setTimeout(async () => {
let del = await deleteFile(arr2)
}, 0);
}
}
del_all()
|