参考链接:开放式存储(OSS)Java API手册 1.0 documentation

一、OSS上同一路径下文件批量下载

假设OSS上Bucket中有四个文件:fun/like/001.avi、fun/like/002.avi、fun/like/003.jpg、fun/like/004.mp3,批量下载四个文件,并将四个文件存储本地路径:“D:/fun/like/”下,即:D:/fun/like/(001.avi、002.avi、003.jpg、004.mp3)。

/*** OSS文件批量下载** @param localPath 本地存储路径* @param ossPath   文件在OSS上的路径*/
public static void imageBatchDownload(String localPath, String ossPath) {// endpoint以杭州为例,其它region请按实际情况填写String endpoint = "oss-cn-shanghai.aliyuncs.com";// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建String accessKeyId = "<yourAccessKeyId>";String accessKeySecret = "<yourAccessKeySecret>";String bucketName = "<yourBucketName>";// 创建OSSClient实例OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);// 构造ListObjectsRequest请求ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName);//Delimiter 设置为 “/” 时,罗列该文件夹下的文件listObjectsRequest.setDelimiter("/");//Prefix 设为某个文件夹名,罗列以此 Prefix 开头的文件listObjectsRequest.setPrefix("fun/like/");ObjectListing listing = ossClient.listObjects(listObjectsRequest);// 遍历所有Object:目录下的文件for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) {//key:fun/like/001.avi等,即:Bucket中存储文件的路径String key = objectSummary.getKey();//判断文件所在本地路径是否存在,若无,新建目录File file = new File(localPath + key);File fileParent = file.getParentFile();if (!fileParent.exists()) {fileParent.mkdirs();}//下载object到文件ossClient.getObject(new GetObjectRequest(bucketName, key), file);}System.out.println("下载完成");// 关闭clientossClient.shutdown();
}

二、OSS上不同路径下文件批量下载

若批量下载文件不在同一路径下,假设OSS上Bucket中有四个文件:fun/like/001.avi、fun/hate/002.avi、可进行如下操作:

// 创建OSSClient实例
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 构造ListObjectsRequest请求
ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName);
//Delimiter 设置为 “/” 时,罗列该文件夹下的文件
listObjectsRequest.setDelimiter("/");
//Prefix 设为某个文件夹名,罗列以此 Prefix 开头的文件
listObjectsRequest.setPrefix("fun/");
ObjectListing listing = ossClient.listObjects(listObjectsRequest);
//遍历CommonPrefix:目录下的所有子文件夹
for (String commonPrefix : listing.getCommonPrefixes()) {//commonPrefix: fun/like/、fun/hate/System.out.println(commonPrefix);//按照上述代码进行批量下载
}

三、命令行方式管理OSS数据工具 —— ossutil

阿里OSS工具说明:使用说明

  • 根据windows系统版本下载ossutil安装包,解压使用,双击ossutil.bat跳出命令行窗口
ossutil64.exe config -e oss-cn-shanghai.aliyuncs.com -i <accessKeyId> -k <accessKeySecret>
  • 本地批量上传至OSS:
ossutil64.exe cp <本地目录> oss://<bucketName>[/<上传路径>/] -r
  • OSS批量下载至本地:
ossutil64.exe cp oss://<bucketName>/[<上传路径>/] <本地目录> -r 

实现从oss(阿里云)服务器批量下载文件相关推荐

  1. Win10下用SCP命令免密码上传、下载阿里云服务器上的文件

    需求: 需要定时把阿里云服务器上的数据备份文件下载到本地备份,所以需要在本地win10系统上定时执行从阿里云服务器上下载备份文件的操作. 环境和工具 本地win10系统及自带的SCP工具,工具目录:C ...

  2. java 阿里云服务器流下载慢的可能原因

    java 阿里云服务器流下载慢的可能原因 1.服务器配置 centos7 带宽为1M 后台用OutputStream 流的方式下载,文件大小为3M 花费了近25秒. 于是我查了下服务器带宽为1M,那么 ...

  3. python程序发布到阿里云云服务器_Python实现阿里云服务器里的文件上传与下载

    Python实现阿里云服务器里的文件上传与下载 018.4.15 背景: 老实说,因为现实的各种原因造成电脑换来换去是可能出现的事情,但是电脑能换,电脑里的环境却不能换.我就曾在三个电脑里各自安装了虚 ...

  4. 阿里云服务器带宽下载上传速度表(1Mbps是128KB/s)

    阿里云服务器公网带宽1Mbps下载速度是128KB/秒,1M带宽下载速度不是1M/s,无论是阿里云还是腾讯云1M带宽下载速度都是128KB/s,阿里云百科来详细说下阿里云服务器公网带宽1M.2M.5M ...

  5. mac怎么向阿里云服务器上传文件,无需下载其他,自带终端就可以。

    一般我们在部署网站时需要将本地的一些文件上传到云服务器,在mac电脑上,不使用三方连接工具的话,怎么将本地文件上传阿里云服务器,其实用Mac自带的终端就可以实现. 当然如果有需要或者是需要经常访问服务 ...

  6. 阿里云改名并下载文件,乱码问题解决

    一个恶心的坑记录下. 刚开始不知道阿里云可以通过直接设置下载文件名,所以从网上查到链接 https://blog.csdn.net/weixin_45861283/article/details/11 ...

  7. 阿里云服务器 安装下载工具aira2步骤

    第一步先运行下面这个 ,不然报错.add-apt-repository: command not found. sudo apt-get install software-properties-com ...

  8. scp向阿里云服务器上传文件

    命令: scp /Users/liuyuqiang/Downloads/Hadoop/* root@47.108.130.87:/share/ 结果:

  9. 阿里云服务器5m带宽建网站支持多少人同时在线?并发数计算

    阿里云服务器5M带宽并发在线人数如何计算?阿里云5M公网带宽下载速度峰值640KB/秒,网站类型不同支持同时在线访问人数不同,小说网站支持20人同时在线访问,小说网站大多是文字,占用带宽资源较少:如果 ...

  10. 阿里云服务器建站怎么上传文件?

    阿里云建站后使用Filezilla进行上传下载文件 1.远程连接阿里云,并阿里云中下载安装好Filezilla工具: 2.Filezilla工具安装好后,进入Filezilla操作界面: 3.在Fil ...

最新文章

  1. WebX5 button tabs的bind-text属性设置
  2. java 计算器_用Java编写一个简单的计算器
  3. 美团小程序框架mpvue入门教程
  4. Subsequences (easy version)
  5. 中set无效是怎么回事_一起认识下,那些我们应该知道的mysql中的变量知识点
  6. windows server 2003 r2 64位web服务器安装配置注意事项
  7. 少儿计算机兴趣小组活动记录,2013年度儿童画兴趣小组活动记录Word编辑
  8. 商城报表系统html5,关于html5:推荐这几款主流报表产品
  9. php适配模式实例,php适配器模式简单应用示例
  10. 机器学习 | 网络搜索及可视化
  11. postgresql 集合类型_PostgreSQL数据类型-时间数据类型
  12. go和python选哪个_我为什么放弃了 Python 选择了 Go?
  13. selenium-绕过登录
  14. android 自定义流程图,GitHub - zx-Zhu/ProcessChart: 安卓自定义流程进度图控件
  15. 全站最全实战的Java项目(附源码)
  16. 千年后,邂逅属于你的游园梦:华为带给智慧园区的生态鼎新
  17. 绍耕反失败学课程(01)— —人生只做一件事
  18. uniapp图片加载不出来的解决方案
  19. 图像处理——简单浮雕效果和倒影效果实战
  20. 爬取QQ音乐中一首歌的相关信息及评论(破解反爬虫、多协程队列爬虫)

热门文章

  1. 联想用u盘重装系统步骤_联想电脑怎样重新安装系统方法步骤详细教程 - 系统家园...
  2. 快递管理系统(面向对象+MVC+集合+IO)
  3. Intellij IDEA 使用教程(十三)IDEA内存优化
  4. 数学速算法_计算总是出算?小学数学常用的25种快速口算窍门,学好算数必备...
  5. Markdown编辑器修改插入图片的大小
  6. [学习报告]《LeetCode零基础指南》(第二讲) 函数
  7. 千帆竞发百日角逐,玻色量子荣获“创业北京”一等奖
  8. 批量生成条形码并且使用压缩包的方式下载
  9. python 文本分析教程_《Python机器学习基础教程》七、处理文本数据
  10. Idea部署dubbo-admin