详情页标题前

腾讯云对象存储下载对象

详情页1

简介

注意该接口用于读取对象内容,如果需要发起浏览器下载文件,可以通过 cos.getObjectUrl 获取 url 再触发浏览器下载,具体参见 预签名 URL 文档本文档提供关于对象的下载操作相关的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
GET Object 下载对象 下载一个对象至本地

功能说明

GET Object 接口请求可以获取存储桶里指定文件的内容,得到文件内容是字符串格式。
下载文件到本地请参见
预签名 URL

下载单个对象

使用示例

cos.getObject({    Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */    Region: 'COS_REGION',  /* 存储桶所在地域,例如 ap-beijing,必须字段 */    Key: '1.jpg',  /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */    onProgress: function (progressData) {        console.log(JSON.stringify(progressData));    }}, function(err, data) {    console.log(err || data.Body);});

指定 Range 获取文件内容:

cos.getObject({    Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */    Region: 'COS_REGION',  /* 存储桶所在地域,例如 ap-beijing,必须字段 */    Key: '1.jpg',  /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */    Range: 'bytes=1-3',        /* 非必须 */    onProgress: function (progressData) {        console.log(JSON.stringify(progressData));    }}, function(err, data) {    console.log(err || data.Body);});

返回blob格式文件内容:

cos.getObject({    Bucket: 'examplebucket-1250000000', /* 必须 */    Region: 'COS_REGION',     /* 存储桶所在地域,必须字段 */    Key: 'exampleobject',              /* 必须 */    DataType: 'blob',        /* 非必须 */    onProgress: function (progressData) {        console.log(JSON.stringify(progressData));    }}, function(err, data) {    console.log(err || data.Body);});

下载对象(单链接限速):说明关于下载对象的限速说明,请参见 单链接限速

cos.getObject({    Bucket: 'examplebucket-1250000000', /* 填入您自己的存储桶,必须字段 */    Region: 'COS_REGION',  /* 存储桶所在地域,例如 ap-beijing,必须字段 */    Key: '1.jpg',  /* 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必须字段 */    Headers: {      'x-cos-traffic-limit': 819200, // 限速值设置范围为819200 - 838860800,单位默认为 bit/s,即800Kb/s - 800Mb/s,如果超出该范围将返回400错误。    },    onProgress: function (progressData) {        console.log(JSON.stringify(progressData));    }}, function(err, data) {    console.log(err || data.Body);});

参数说明

参数名 参数描述 类型 是否必填
Bucket 存储桶的名称,命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 String
Region 存储桶所在地域,枚举值请参见 地域和访问域名 String
Key 对象键(Object 的名称),对象在存储桶中的唯一标识,详情请参见 对象概述 String
DataType 返回文件内容格式,枚举值:string、blob、arraybuffer,默认值:string String
ResponseContentType 设置响应头部中的 Content-Type 参数 String
ResponseContentLanguage 设置返回头部中的 Content-Language 参数 String
ResponseExpires 设置返回头部中的 Content-Expires 参数 String
ResponseCacheControl 设置返回头部中的 Cache-Control 参数 String
ResponseContentDisposition 设置返回头部中的 Content-Disposition 参数 String
ResponseContentEncoding 设置返回头部中的 Content-Encoding 参数 String
Range RFC 2616 中定义的字节范围,范围值必须使用 bytes=first-last 格式,first 和 last 都是基于0开始的偏移量。例如 bytes=0-9 表示下载对象的开头10个字节的数据 ,如果不指定,则表示下载整个对象 String
IfModifiedSince 当对象在指定时间后被修改,则返回对象,否则返回304(Not Modified) String
IfUnmodifiedSince 当对象在指定时间后未被修改,则返回对象,否则返回412(precondition failed) String
IfMatch 当对象的 ETag 与指定的值一致,则返回对象,否则返回412(precondition failed) String
IfNoneMatch 当对象的 ETag 与指定的值不一致,则返回对象,否则返回304(not modified) String
VersionId 指定要下载的对象的版本 ID String
onProgress 进度的回调函数,进度回调响应对象(progressData)属性如下 Function
– progressData.loaded 已经下载的对象部分大小,以字节(Bytes)为单位 Number
– progressData.total 整个对象的大小,以字节(Bytes)为单位 Number
– progressData.speed 对象的下载速度,以字节/秒(Bytes/s)为单位 Number
– progressData.percent 对象下载的百分比,以小数形式呈现,例如,下载50%即为0.5 Number

回调函数说明

function(err, data) { ... }
参数名 参数描述 类型
err 请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码 Object
– statusCode 请求返回的 HTTP 状态码,例如200、403、404等 Number
– headers 请求返回的头部信息 Object
data 请求成功时返回的对象,如果请求发生错误,则为空 Object
– statusCode 请求返回的 HTTP 状态码,例如200,304,403,404等 Number
– headers 请求返回的头部信息 Object
– CacheControl RFC 2616 中定义的缓存指令,仅当对象元数据包含此项或通过请求参数指定了此项时才会返回该头部 String
– ContentDisposition RFC 2616 中定义的文件名称,仅当对象元数据包含此项或通过请求参数指定了此项时才会返回该头部 String
– ContentEncoding RFC 2616 中定义的编码格式,仅当对象元数据包含此项或通过请求参数指定了此项时才会返回该头部 String
– Expires RFC 2616 中定义的缓存失效时间,仅当对象元数据包含此项或通过请求参数指定了此项时才会返回该头部 String
– x-cos-storage-class 对象的存储类型,枚举值:STANDARD、STANDARD_IA,更多存储类型请参见 存储类型概述注意:如果没有返回该头部,则说明文件存储类型为 STANDARD (标准存储) String
– x-cos-meta-* 用户自定义的元数据 String
– NotModified 如果请求时带有 IfModifiedSince 则返回该属性,如果文件未被修改,则为 true,否则为 false Boolean
– ETag 返回文件的 MD5 算法校验值。ETag 的值可以用于检查对象在上传、下载过程中是否有损坏例如 "09cba091df696af91549de27b8e7d0f6"注意:这里的 ETag 值字符串前后带有双引号 String
– VersionId 指定要下载的对象的版本 ID String
– Body 返回的文件内容,默认为 String 形式 String

批量下载对象

注意不推荐使用,触发浏览器下载后,无法用代码控制开始、停止。当下载的对象过多时,可能造成较差的体验。

使用示例

按前缀下载多个对象(下载指定目录下的文件):

var getObjects = function (marker) {    cos.getBucket({        Bucket: config.Bucket,        Region: config.Region,        Prefix: 'abc', /* 要下载的目录,或要下载的前缀 */        Marker: marker,        MaxKeys: 1000,    }, function (listError, listResult) {        if (listError) return console.log('list error:', listError);        var nextMarker = listResult.NextMarker;        listResult.Contents.forEach(function (item) {            cos.getObjectUrl({              Bucket: config.Bucket,              Region: config.Region,              Key: item.Key,            }, function(err, data) {              if (err) return console.log(err);              setTimeout(() => {                var downloadUrl = data.Url + (data.Url.indexOf('?') > -1 ? '&' : '?') + 'response-content-disposition=attachment'; // 补充强制下载的参数                window.open(downloadUrl); // 这里是新窗口打开 url,如果需要在当前窗口打开,可以使用隐藏的 iframe 下载,或使用 a 标签 download 属性协助下载              }, 500);            });        });        // 如果没有处理完需要继续查询下一页文件列表        if (listResult.IsTruncated === 'true') getMultipleObjects(nextMarker);    });}getObjects();



对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/145816.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云高性能计算集群计费概述

    计费说明 高性能计算集群有包年包月和按量计费两种计费模式,详情可参见 CVM 计费模式。同时也支持 时长折扣,时长折扣的比率和云服务器可能不同,以购买页显示为准。 实例价格 高性能计算集群实例包括网络、存储(系统盘、数据盘)、计算(CPU 、内存 、GPU)三大部分。您可直接使用云服务器 价格计算器 查看您所需的各个产品的组合价格,估算资源成本。您可将所需产…

    腾讯云 2023年12月9日
  • 腾讯云高性能计算集群产品概述

    高性能计算集群简介 高性能计算集群(Tencent Hyper Computing Cluster,THCC)以高性能云服务器为节点,通过 RDMA(Remote Direct Memory Access)互联,提供了高带宽和极低延迟的网络服务,大幅提升网络性能,能满足大规模高性能计算、人工智能、大数据推荐等应用的并行计算需求。 基本概念 使用腾讯云高性能计…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云容器服务Kins 边缘独立集群使用指南同尘科技

    操作场景 本文介绍 TKE-Edge 推出的新特性——Kins,其主要功能描述如下:此能力可以将标准的 NodeUnit 边缘节点池,一键提升为独立 K3s 集群,此边缘节点池即可和云端控制面断网,并长期离线运行使用。离线过程中这个边缘节点池可以作为一个标准的K3s 集群进行独立运维;后期如果有运维或者升级的需求,可以将此节点池重新和云端建立连接后,即可从云…

    2023年12月9日
  • 腾讯云对象存储取消任务

    功能描述 取消一个任务,只有未执行的任务才可以被取消。 授权说明 授权策略中 action 设置为 ci:CancelMediaJob 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使用限制。 请求 请求示例 PUT /jobs/<…

    腾讯云 2023年12月9日
  • 腾讯云对象存储更新模板

    功能描述 更新画质增强模板。 授权说明 授权策略中 action 设置为 ci:UpdateMediaTemplate 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使用限制。 请求 请求示例 PUT /template/<Temp…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。