简介
本文档提供关于文件哈希值计算的相关 API 概览以及 SDK 示例代码,当前支持计算的哈希值为 md5、sha1、sha256三种。
注意:
COS 小程序 SDK 版本需要大于等于 v1.1.1。
哈希值计算同步请求
功能说明
以同步请求的方式进行文件哈希值计算,实时返回计算得到的哈希值,该接口属于 GET 请求。
使用示例
function fileHash() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/31953const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing};const ObjectKey = "test.docx";const key = `${ObjectKey}` // ObjectKey:{ObjectKey};const host = `${config.Bucket}.cos.${config.Region}.myqcloud.com`;const url = `https://${host}/${key}`;cos.request({Method: 'GET', // 固定值,必须Key: key, // 必须Url: url, // 请求的url,必须Query: {// 操作类型,哈希值计算固定为:filehash;是否必传:是"ci-process": "filehash",// 支持的哈希算法类型,有效值:md5、sha1、sha256;是否必传:是type: "md5",// 是否将计算得到的哈希值,自动添加至文件的自定义header,格式为:x-cos-meta-md5/sha1/sha256;有效值: true、false,不填则默认为false;是否必传:否addtoheader: "",},},function (err, data) {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data.Response);}},);}fileHash()
参数说明
cos.request 方法参数说明:
参数名称 | 参数描述 | 类型 | 是否必填 |
Method | 固定值:GET | String | 是 |
Url | 请求url,固定值 | String | 是 |
Key | {ObjectKey} | String | 是 |
Query | 请求参数 | Object | 是 |
Query 参数说明:
参数名称 | 参数描述 | 类型 | 是否必填 |
ci-process | 操作类型,哈希值计算固定为:filehash | String | 是 |
type | 支持的哈希算法类型,有效值:md5、sha1、sha256 | String | 是 |
addtoheader | 是否将计算得到的哈希值,自动添加至文件的自定义 header,格式为:x-cos-meta-md5/sha1/sha256;有效值: true、false,不填则默认为 false | String | 否 |
回调函数说明
function(err, data) { ... }
相关链接
提交哈希值计算任务
功能说明
以提交任务的方式进行文件哈希值计算,异步返回计算得到的哈希值,该接口属于 POST 请求。
使用示例
function createFileHashJob() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/31953const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing};const key = `jobs` //const host = `${config.Bucket}.ci.${config.Region}.myqcloud.com`;const url = `https://${host}/${key}`;const body = COS.util.json2xml({Request: {// 表示任务的类型,哈希值计算默认为:FileHashCode。;是否必传:是Tag: "FileHashCode",// 包含待操作的文件信息。;是否必传:是Input: {// 文件名,取值为文件在当前存储桶中的完整名称。;是否必传:是Object: "test.docx",},// 包含哈希值计算的处理规则。;是否必传:是Operation: {// 指定哈希值计算的处理规则。;是否必传:是FileHashCodeConfig: {// 哈希值的算法类型,支持:MD5、SHA1、SHA256;是否必传:是Type: "MD5",// 是否将计算得到的哈希值添加至文件自定义header,有效值:true、false,默认值为 false。自定义header根据Type的值变化,例如Type值为MD5时,自定义header为 x-cos-meta-md5。;是否必传:否AddToHeader: "",},// 透传用户信息, 可打印的 ASCII 码,长度不超过1024。;是否必传:否UserData: "",},// 任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式。;是否必传:否CallBackFormat: "",// 任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型。;是否必传:否CallBackType: "Url",// 任务回调的地址,优先级高于队列的回调地址。;是否必传:否CallBack: "",}});cos.request({Method: 'POST', // 固定值,必须Key: key, // 必须Url: url, // 请求的url,必须Body: body, // 请求体参数,必须ContentType: 'application/xml', // 固定值,必须},function (err, data) {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data.Response);}},);}createFileHashJob()
参数说明
cos.request 方法参数说明:
参数名称 | 参数描述 | 类型 | 是否必填 |
Method | 固定值:POST | String | 是 |
Url | 请求url,固定值 | String | 是 |
Key | 固定值:jobs | String | 是 |
ContentType | 固定值 | String | 是 |
Body | Object | 是 |
回调函数说明
function(err, data) { ... }
相关链接
查询哈希值计算结果
功能说明
本接口用于主动查询指定的文件哈希值计算任务结果。
使用示例
function describeFileHashJob() {// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/31953const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须字段Region: 'COS_REGION', // 存储桶所在地域,必须字段 如 ap-beijing};const jobId = "xxx";const key = `file_jobs/${jobId}` // jobId:{jobId};const host = `${config.Bucket}.ci.${config.Region}.myqcloud.com`;const url = `https://${host}/${key}`;cos.request({Method: 'GET', // 固定值,必须Key: key, // 必须Url: url, // 请求的url,必须},function (err, data) {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data.Response);}},);}describeFileHashJob()
参数说明
cos.request 方法参数说明:
参数名称 | 参数描述 | 类型 | 是否必填 |
Method | 固定值:GET | String | 是 |
Url | 请求url,固定值 | String | 是 |
Key | file_jobs/{jobId} | String | 是 |
回调函数说明
function(err, data) { ... }