详情页标题前

腾讯云对象存储C# SDK

详情页1

注意您目前查阅的是历史版本 SDK 文档,已不再更新和维护,我们建议您查阅新版 SDK 文档

开发准备

相关资源

C# SDK github项目下载地址

开发准备

1. SDK 依赖 C# 4.0版本及以上, 推荐使用相同的版本。2. 从控制台获取 APP ID、SecretID、SecretKey。3. 修改园区,CosCloud.cs文件内的URL定义,例如华东:http://sh.file.myqcloud.com/files/v2/ 华北:http://tj.file.myqcloud.com/files/v2/ 华南:http://gz.file.myqcloud.com/files/v2/
(本版本SDK基于JSON API封装组成)

SDK 配置

直接下载 github 上提供的源代码,集成到开发环境。 若需 HTTPS 支持,则将 cos_dotnet_sdk/Api/CosCloud.cs 文件中变量 COSAPI_CGI_URL 中的 HTTP 修改为 HTTPS 即可。

生成签名

多次有效签名

方法原型

public static string Signature(int appId, string secretId, string secretKey, long expired, string bucketName)

参数说明

参数名 类型 必填 参数描述
appId int AppId
secretId string Secret Id
secretKey string Secret Key,以上三项从 控制台 获取。
expired long 过期时间,Unix 时间戳
bucketName string bucket 名称,bucket 创建参见 创建Bucket

示例

var sign = Sign.Signature(appId, secretId, secretKey, expired, bucketName); 

单次有效签名

方法原型

public static string SignatureOnce(int appId, string secretId, string secretKey, string remotePath, string bucketName)

参数说明

参数名 类型 必填 参数描述
appId int AppId
secretId string Secret Id
secretKey string Secret Key,以上三项从 控制台 获取。
bucketName string bucket名称,bucket创建参见 创建Bucket
remotePath string 文件唯一的标识,格式 /appid/bucketname/filepath/filename,其中 /filepath/filename为文件在此 bucketname 下的全路径,

示例

var sign = Sign.SignatureOnce(appId, secretId, secretKey,remotePath, bucketName); 

更多签名详细说明,请参考 权限控制

目录操作

创建目录

接口说明:用于目录的创建,可以通过此接口在指定 bucket 下创建目录。

方法原型

public string CreateFolder(string bucketName, string remotePath, Dictionary parameterDic = null)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket 名称
remotePath string 需要创建目录的全路径
parameterDic string 属性字典

属性字典说明

参数名 类型 必填 参数描述
biz_attr string 目录属性

返回结果说明

参数名 类型 必带 参数描述
code Int 错误码,成功时为 0
message String 错误信息
data Array 返回数据,请参考《Restful API 创建目录》

示例

var createFolderParasDic = new Dictionary();                    createFolderParasDic.Add(CosParameters.PARA_BIZ_ATTR,"new attribute");var result = cos.CreateFolder(bucketName, folder, createFolderParasDic);

目录更新

接口说明:用于目录业务自定义属性的更新,可以通过此接口更新业务的自定义属性字段。

方法原型

public string UpdateFolder(string bucketName, string remotePath, Dictionary  parameterDic = null) 

参数说明

参数名 类型 必填 参数描述
bucketName string bucket 名称
remotePath string 需要创建目录的全路径
parameterDic string 目录更新参数字典

目录更新参数字典

参数名 类型 必填 参数描述
biz_attr string 目录属性

返回结果说明

参数名 类型 必选 参数描述
code Int 错误码,成功时为0
message String 错误信息

示例

var updateParasDic = new Dictionary();                    updateParasDic.Add(CosParameters.PARA_BIZ_ATTR,"new attribute");var result = cos.UpdateFolder(bucketName, folder, updateParasDic);

目录查询

接口说明:用于目录属性的查询,可以通过此接口查询目录的属性。

方法原型

public string GetFolderStat(string bucketName, string remotePath)  

参数说明

参数名 类型 必填 参数描述
bucketName string bucket 名称
remotePath string 目录的全路径

返回结果说明

参数名 类型 必选 参数描述
code Int 错误码,成功时为 0
message String 错误信息
data Array 目录属性数据,请参考《Restful API 目录查询》

示例

var result = cos.GetFolderStat(bucketName, folder);

目录删除

接口说明:用于目录的删除,可以通过此接口删除空目录,如果目录中存在有效文件或目录,将不能删除。

方法原型

public string DeleteFolder(string bucketName, string remotePath)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket 名称
remotePath string 目录的全路径

返回结果说明

参数名 类型 必选 参数描述
code Int 错误码,成功时为0
message String 错误信息

示例

var result = cos.DeleteFolder(bucketName, folder);

列举目录下文件&目录

接口说明:用于列举目录下文件和目录,可以通过此接口查询目录下的文件和目录属性。

方法原型

public string GetFolderList(string bucketName, string remotePath, Dictionary  parameterDic = null)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket 名称
remotePath string 目录的全路径
parameterDic Dictionary 目录列表参数字典

目录列表参数字典

参数名 类型 必填 参数描述
num string 要查询的目录/文件数量,最大1000
listFlag string listFlag:大于0返回全部数据,否则返回部分数据
context String 透传字段,用于翻页,前端不需理解,需要往后翻页则透传回来
prefix string 搜索前缀

返回结果说明

参数名 类型 必带 参数描述
code Int API 错误码,成功时为0
message String 错误信息
data Array 返回数据,请参考《Restful API 目录列表》

示例

var folderlistParasDic = new Dictionary();                    folderlistParasDic.Add(CosParameters.PARA_NUM,"100");var result = cos.GetFolderList(bucketName, folder, folderlistParasDic);

文件操作

文件上传

接口说明:文件上传的统一接口,对于大于8m的文件,内部会通过多次分片的方式进行文件上传。没有断点续传功能,需要自己用分片上传接口实现。

方法原型

public string UploadFile(string bucketName, string remotePath, string localPath, 	Dictionary  parameterDic = null)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket名称,bucket创建参见创建 Bucket
remotePath string 文件在服务端的全路径
localPath string 文件本地路径
parameterDic Dictionary 文件上传参数字典

文件上传参数字典

参数名 类型 必填 参数描述
biz_attr string 文件属性
slice_size string 可选取值为:641024 5121024,110241024(默认),210241024,310241024

返回结果说明

参数名 类型 必带 参数描述
code Int 错误码,成功时为0
message String 错误信息
data Array 返回数据,请参考《Restful API 创建文件》

示例

var uploadParasDic = new Dictionary();                uploadParasDic.Add(CosParameters.PARA_BIZ_ATTR,"file attribute");uploadParasDic.Add(CosParameters.PARA_INSERT_ONLY,"0");uploadParasDic.Add(CosParameters.PARA_SLICE_SIZE,SLICE_SIZE.SLIZE_SIZE_3M.ToString());result = cos.UploadFile(bucketName, remotePath, localPath, uploadParasDic);

文件属性更新

接口说明:用于目录业务自定义属性的更新,可以通过此接口更新业务的自定义属性字段。

方法原型

public string UpdateFile(string bucketName, string remotePath, Dictionary parameterDic = null)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket 名称
remotePath string 文件在 COS 的全路径
parameterDic string 文件更新参数字典

文件更新参数字典

参数名 类型 必填 参数描述
biz_attr string 待更新的文件属性信息
authority string eInvalid(继承Bucket的读写权限);eWRPrivate(私有读写);eWPrivateRPublic(公有读私有写)
Cache-Control string 指定请求和响应遵循的缓存机制,如:no-cache;max-age=200
Content-Type string 返回内容的 MIME 类型,如:text/html
Content-Disposition string 控制用户请求所得的内容存为一个文件的时候提供一个默认的文件名,如:attachment; filename=”fname.ext”
Content-Language string 使用的语言,如:zh-CN
x-cos-meta-自定义内容 string 表示以“x-cos-meta-”名字开头的参数,用户按照自身业务场景,设置需要在 Header 中传输什么参数

返回结果说明

参数名 类型 必带 参数描述
code Int 错误码,成功时为0
message String 错误信息

示例

var optionParasDic = new Dictionary();    optionParasDic.Add(CosParameters.PARA_BIZ_ATTR,"new attribute");    optionParasDic.Add(CosParameters.PARA_AUTHORITY,AUTHORITY.AUTHORITY_PRIVATEPUBLIC);    optionParasDic.Add(CosParameters.PARA_CACHE_CONTROL,"no");    optionParasDic.Add(CosParameters.PARA_CONTENT_TYPE,"application/text");    optionParasDic.Add(CosParameters.PARA_CONTENT_DISPOSITION,"filename=\"test.pdf\"");    optionParasDic.Add(CosParameters.PARA_CONTENT_LANGUAGE,"en");    optionParasDic.Add("x-cos-meta-test","test");result = cos.UpdateFile(bucketName, remotePath, optionParasDic);

文件查询

接口说明:用于文件的查询,可以通过此接口查询文件的各项属性信息。

方法原型

public string GetFileStat(string bucketName, string remotePath)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket名称
remotePath string 文件在Cos的全路径

返回结果说明

参数名 类型 必带 参数描述
code Int 错误码,成功时为0
message String 错误信息
data Array 文件属性数据,请参考《Restful API 文件查询》

示例

var result = cos.GetFileStat(bucketName, remotePath);

文件删除

接口说明:用于文件的删除,可以通过此接口删除已经上传的文件。

方法原型

public string DeleteFile(string bucketName, string remotePath) 

参数说明

参数名 类型 必填 参数描述
bucketName string bucket名称
remotePath string 文件在服务端的全路径

返回结果说明

参数名 类型 必带 参数描述
code Int 错误码,成功时为0
message String 错误信息

示例

var result = cos.DeleteFile(bucketName, remotePath);

分片上传list

接口说明:查询分片上传的情况

方法原型

public string UploadSliceList(string bucketName, string remotePath)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket名称
remotePath string 文件在服务端的全路径

返回结果说明

参数名 类型 必带 参数描述
code Int 错误码,成功时为0
message String 错误信息
data Array 分片上传信息

上传完成data的数据说明

参数名 类型 必带 参数描述
url String 操作文件的 url
access_url String 生成的文件下载 url
source_url String 源地址
resource_path String 资源路径,格式: /appid/bucket/xxx
preview_url String 预览地址

上传未完成data的数据说明

参数名 类型 必带 参数描述
session String init返回的标识
filesize Int 文件大小
slice_size Int 分片大小(64K-3M) 大于1M 必须为1M 整数倍
sha String 文件的全文sha值,init时若已带sha值,则返回该值
listparts Json Array 已上传完成的分片,形如:[{“offset”:0, “datalen”:1024}, {}, {}].

示例

var fileSha = SHA1.GetFileSHA1(localPath);var result = SliceUploadInit(bucketName, remotePath, localPath, fileSha, bizAttribute, sliceSize, insertOnly);

分片上传init

接口说明:分片上传的第一次握手,如果上一次分片上传未完成,会返回{“code”:-4019,”message”:”_ERROR_FILE_NOT_FINISH_UPLOAD”}init接口说明:分片上传的第一次握手

方法原型

public string SliceUploadInit(string bucketName, string remotePath, string localPath, string fileSha,string bizAttribute = "", int sliceSize = SLICE_SIZE.SLIZE_SIZE_1M, int insertOnly = 1)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket 名称
remotePath string 文件在服务端的全路径
localPath string 本地文件路径
fileSha string 文件的 SHA 值

返回结果说明

参数名 类型 必带 参数描述
code Int 错误码,成功时为0
message String 错误信息
data Array 分片上传信息

data的数据说明

参数名 类型 必带 参数描述
session string (非秒传的大部分情况会有) 唯一标识此文件传输过程的 ID
slice_size Int (非秒传大部分情况下会有) 分片大小
serial_upload int (非秒传大部分情况下会有) 1:只支持串行分片上传其它:支持并行分片

示例

var fileSha = SHA1.GetFileSHA1(localPath);var result = SliceUploadInit(bucketName, remotePath, localPath, fileSha, bizAttribute, sliceSize, insertOnly);

分片上传

接口说明:分片上传数据

方法原型

public string SliceUploadData(string bucketName, string remotePath, string localPath, string fileSha, string session, long offset,int sliceSise,string sign)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket名称
remotePath string 文件在服务端的全路径
localPath string 本地文件路径
fileSha string 文件的Sha值
session string 唯一标识此文件传输过程的id
offset int 分片的偏移量
sliceSize int 分片的大小
sign string 签名(多次)

返回结果说明

参数名 类型 必带 参数描述
code Int 错误码,成功时为0
message String 错误信息
data Array 分片上传信息

data的数据说明

参数名 类型 必带 参数描述
session string (非秒传的大部分情况会有) 唯一标识此文件传输过程的 ID
offset Int 当前分片的 offset
datalen int 分片长度 slice_size,返回的 datalen 就是当前分片的大小
serial_upload int (非秒传大部分情况下会有) 1:只支持串行分片上传其它:支持并行分片

示例

var fileSha = SHA1.GetFileSHA1(localPath);var result = SliceUploadDataInit(bucketName, remotePath, localPath, fileSha, session, offset, sliceSize,sign);

分片上传 finish

接口说明:告诉COS所有分片上传成功。

方法原型

public string SliceUploadFinish(string bucketName, string remotePath, string localPath, string fileSha, string session)

参数说明

参数名 类型 必填 参数描述
bucketName string bucket名称
remotePath string 文件在服务端的全路径
localPath string 本地文件路径
fileSha string 文件的Sha值
session string 唯一标识此文件传输过程的id

返回结果说明

参数名 类型 必带 参数描述
code Int 错误码,成功时为0
message String 错误信息
data Array 分片上传信息

data的数据说明

参数名 类型 必带 参数描述
session string (非秒传的大部分情况会有) 唯一标识此文件传输过程的id
offset Int 当前分片的offset
datalen int 分片文件长度

示例

result = SliceUploadFinish(bucketName,remotePath,localPath,fileSha, sessionbizAttribute, sliceSize, insertOnly);



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

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

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

相关推荐

  • 腾讯云对象存储列出目录

    注意您目前查阅的是历史版本 API 文档,已不再更新和维护,我们建议您查阅新版 API 文档。 描述 使用 API 列出指定目录下的所有文件目录,可带前缀查询,只支持向后翻页。前置条件:目录已存在。说明在返回内容中不包含 biz_attr 字段,如需查询,请调用查询目录属性接口。 请求 请求语法 GET <Request_URL>?op=list…

    腾讯云 2023年12月9日
  • 腾讯云对象存储图文点读

    概述 在处理一些文本类信息时,例如图片中的英文,我们可以使用OCR识别技术来快速识别,并结合语音合成技术来朗读照片中的英文。本文将介绍如何使用 腾讯云数据万象(CI) 的OCR技术识别图片中的文本内容,并通过语音合成技术将文本转换成语音播放。 应用场景 语言学习 将语言教材和词典中的英文转化为语音播放,可以为学习者提供标准的发音示范,帮助他们更好地学习语音。…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储存储桶策略

    简介 本文档提供关于存储桶策略的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 PUT Bucket policy 设置存储桶策略 设置指定存储桶的权限策略 GET Bucket policy 查询存储桶策略 查询指定存储桶的权限策略 DELETE Bucket policy 删除存储桶策略 删除指定存储桶的权限策略 设置存储桶策略 功能说…

    腾讯云 2023年12月9日
  • 腾讯云对象存储GET Bucket encryption

    功能描述 GET Bucket encryption 接口用于查询指定存储桶下的默认加密配置。要执行此接口,必须拥有 GetBucketEncryption 权限。默认情况下,Bucket 的持有者直接拥有权限使用该 API 接口,Bucket 持有者也可以将权限授予其他用户。 请求 请求示例 GET /?encryption HTTP 1.1Host: .…

    腾讯云 2023年12月9日
  • 腾讯云内容分发网络CDN域名操作

    操作场景 将域名接入腾讯云 CDN 加速服务后,若您需要对已经接入的加速域名进行管理,可以登录 CDN 控制台,在左侧菜单栏选择域名管理进入到域名管理页进行相关操作。腾讯云 CDN 支持自定义调整域名列表、批量开启/关闭域名加速服务和批量变更域名的项目/标签/配置等操作,帮助您高效管理域名。 操作指南 自定义调整列表 单击搜索框右侧 ,打开列表配置弹窗,可…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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