文件哈希值计算

最近更新时间:2024-06-06 16:01:04

我的收藏

简介

本文档提供关于文件哈希值计算的相关 API 概览以及 SDK 示例代码。
注意:
COS 小程序 SDK 版本需要大于等于 v1.1.1。
API
操作描述
以同步请求的方式进行文件哈希值计算,实时返回计算得到的哈希值,该接口属于 GET 请求
以提交任务的方式进行文件哈希值计算,异步返回计算得到的哈希值,该接口属于 POST 请求
本接口用于主动查询指定的文件哈希值计算任务结果

哈希值计算同步请求

功能说明

以同步请求的方式进行文件哈希值计算,实时返回计算得到的哈希值,该接口属于 GET 请求

使用示例

function fileHash() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/31953
const 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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果 详情请参见 哈希值计算同步请求
Object

相关链接

提交哈希值计算任务

功能说明

以提交任务的方式进行文件哈希值计算,异步返回计算得到的哈希值,该接口属于 POST 请求

使用示例

function createFileHashJob() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/31953
const 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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果 详情请参见 提交哈希值计算任务
Object

相关链接

查询哈希值计算结果

功能说明

本接口用于主动查询指定的文件哈希值计算任务结果

使用示例

function describeFileHashJob() {
// sdk引入以及初始化请参考:https://cloud.tencent.com/document/product/436/31953
const 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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如200、403、404等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果 详情请参见 查询哈希值计算结果
Object

相关链接