搜索本产品文档关键词
下载文件
所有文档
menu

BOS 对象存储

下载文件

BOS Ruby SDK提供了丰富的文件下载接口,用户可以通过以下方式从BOS中下载文件:

  • 简单流式下载
  • 下载到本地文件
  • 断点续传下载
  • 范围下载

简单流式下载

用户可以通过如下代码将Object读取到一个流中:

Plain Text
1client.get_object_as_string(bucket_name, object_name)

直接下载Object到文件

用户可以参考如下代码将Object下载到指定文件:

Plain Text
1client.get_object_to_file(bucket_name, object_name, file_name)

范围下载

为了实现更多的功能,可以通过配置RANGE参数来指定下载范围,实现更精细化地获取Object。如果指定的下载范围是0 - 100,则返回第0到第100个字节的数据,包括第100个,共101字节的数据,即[0, 100]。RANGE参数的格式为array(offset, endset)其中两个变量为长整型,单位为字节。用户也可以用此功能实现文件的分段下载和断点续传。

Ruby
1range = [0,100]
2client.get_object_as_string(bucket_name, object_name, range)

其他使用方法

获取Object的存储类型

Object的storage class属性分为STANDARD(标准存储), STANDARD_IA(低频存储)和COLD(冷存储),通过如下代码可以实现:

Ruby
1response = client.get_object_meta_data(bucket_name, object_name)
2puts response[Http::BOS_STORAGE_CLASS];

只获取ObjectMetadata

用户也可通过get_object_meta_data方法可以只获取ObjectMetadata而不获取Object的实体。如下代码所示:

Ruby
1response = client.get_object_meta_data(bucket_name, object_name)
2puts response['etag'];

get_object_meta_data方法返回的解析类中可供调用的参数有:

参数
说明
content-type Object的类型
content-length Object的大小
content-md5 Object的MD5
etag Object的HTTP协议实体标签
x-bce-storage-class Object的存储类型
user-metadata 如果在PutObject指定了userMetadata自定义meta,则返回此项
上一篇
上传文件
下一篇
变更文件存储等级