场景描述
我们在试用oss 的项目比较多或者 oss 仓库比较多的时候 往往会出现将某个oss指定图片搬移到其他oss或者下载到本地的需求
我们就可以试用脚本进行操作了
接下来我们以阿里云oss为例 演示下如何下载指定文件到本地
前提条件
1 下载阿里云oss的 OSSBrowser 客户端工具
2 并且登录进去
3 选中你要下载的目标仓库
4 点击右上角设置 打开调试
代码准备
在调试台就可以写我们的js代码来选中目标文件了
代码执行完毕点击下载 选择文件夹即可
静静等待你就会发现你的想要的文件就下载到了本地
代码如下
代码中会有注释 根据自己的匹配规则选择对应的格式
document.querySelector('.file-list-box.ng-isolate-scope').querySelectorAll('.item-block.ng-scope').forEach(item=>{
// 每个文件名称
let fileName = item.querySelector('.item-block-name.ng-binding').textContent.trim()
// 满足条件点击选中
if(test(fileName)){
item.click()
}
})
console.log("完成")
// 校验文件名称是否符合要求
function test(fileName){
// 合法的文件后缀
let okArrSuffix = ['jpg','png','gif']
// name文件名 suffix 文件后缀
let [name,suffix] = fileName.split('.')
// 后缀
/**
我只这里写的是 32位小写和数字组成 /^[a-z0-9]{32}$/.test(val) 并且后缀为'jpg'||'png'||'gif'
根据自己的需求更改这个判断即可
*/
if(okArrSuffix.includes(suffix) && !/^[a-z0-9]{32}$/.test(name)){
return true
}else{
return false
}
}
注意
代码执行只会在加载出来的文件中做匹配 若要所有匹配到文件需要一直下拉直到所有文件展示