Skip to content

Commit 4736047

Browse files
committed
upd: 新增ci文件处理demo
1 parent 489caf1 commit 4736047

File tree

1 file changed

+171
-0
lines changed

1 file changed

+171
-0
lines changed

demo/demo.js

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2334,6 +2334,165 @@ function orc() {
23342334
});
23352335
}
23362336

2337+
// 提交文件压缩任务
2338+
function postFileCompress() {
2339+
var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/file_jobs';
2340+
var url = 'https://' + host;
2341+
var body = COS.util.json2xml({
2342+
Request: {
2343+
Tag: 'FileCompress', // 必须
2344+
Operation: {
2345+
FileCompressConfig: {
2346+
Flatten: '0', // 文件打包时,是否需要去除源文件已有的目录结构.0:不需要;1:需要
2347+
Format: 'zip', // 打包压缩的类型,有效值:zip、tar、tar.gz
2348+
// UrlList、Prefix、Key 三者仅能选择一个,不能都为空,也不会同时生效
2349+
// UrlList: '', // 索引文件的对象地址
2350+
Prefix: 'testCompress/', // 目录前缀
2351+
// Key: [], // 支持对存储桶中的多个文件进行打包,个数不能超过 1000, 总大小不超过50G,否则会导致任务失败
2352+
},
2353+
Output: {
2354+
Bucket: config.Bucket, // 保存压缩后文件的存储桶
2355+
Region: config.Region, // 保存压缩后文件的存储桶地域
2356+
Object: 'testCompress/compressed.zip', // 压缩后文件的文件名
2357+
},
2358+
UserData: '',
2359+
},
2360+
// QueueId: '', // 任务所在的队列 ID
2361+
// CallBack: 'http://callback.demo.com', // 任务回调的地址
2362+
// CallBackFormat: 'JSON', // 任务回调格式
2363+
// CallBackType: 'Url', // 任务回调类型,Url 或 TDMQ,默认 Url
2364+
}
2365+
});
2366+
cos.request({
2367+
Method: 'POST',
2368+
Key: 'file_jobs',
2369+
Url: url,
2370+
Body: body,
2371+
ContentType: 'application/xml',
2372+
},
2373+
function(err, data){
2374+
logger.log(err || data);
2375+
});
2376+
}
2377+
2378+
// 查询文件压缩任务结果
2379+
function getFileCompress() {
2380+
var jobId = 'faf1d2774a13911ed88a65b0c303ae7xx'; // 提交文件压缩任务后会返回当前任务的jobId
2381+
var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/file_jobs/' + jobId;
2382+
var url = 'https://' + host;
2383+
cos.request({
2384+
Method: 'GET',
2385+
Key: 'file_jobs/' + jobId,
2386+
Url: url,
2387+
},
2388+
function(err, data){
2389+
logger.log(err || data);
2390+
});
2391+
}
2392+
2393+
// 提交文件解压任务
2394+
function postFileUnCompress() {
2395+
var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/file_jobs';
2396+
var url = 'https://' + host;
2397+
var body = COS.util.json2xml({
2398+
Request: {
2399+
Tag: 'FileUncompress', // 必须
2400+
Input: {
2401+
Object: 'testCompress/compressed.zip', // 文件名,取值为文件在当前存储桶中的完整名称
2402+
},
2403+
Operation: {
2404+
FileUncompressConfig: {
2405+
Prefix: '', // 指定解压后输出文件的前缀,不填则默认保存在存储桶根路径
2406+
PrefixReplaced: '0', // 指定解压后的文件路径是否需要替换前缀,默认0
2407+
},
2408+
Output: {
2409+
Bucket: config.Bucket, // 保存解压后文件的存储桶
2410+
Region: config.Region, // 保存解压后文件的存储桶地域
2411+
},
2412+
},
2413+
// QueueId: '', // 任务所在的队列 ID
2414+
// CallBack: 'http://callback.demo.com', // 任务回调的地址
2415+
// CallBackFormat: 'JSON', // 任务回调格式
2416+
// CallBackType: 'Url', // 任务回调类型,Url 或 TDMQ,默认 Url
2417+
}
2418+
});
2419+
cos.request({
2420+
Method: 'POST',
2421+
Key: 'file_jobs',
2422+
Url: url,
2423+
Body: body,
2424+
ContentType: 'application/xml',
2425+
},
2426+
function(err, data){
2427+
logger.log(err || data);
2428+
});
2429+
}
2430+
2431+
// 查询文件解压任务结果
2432+
function getFileUnCompress() {
2433+
var jobId = 'fe7b0fa34a13911eda186254bb8f3aaxx'; // 提交文件解压任务后会返回当前任务的jobId
2434+
var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/file_jobs/' + jobId;
2435+
var url = 'https://' + host;
2436+
cos.request({
2437+
Method: 'GET',
2438+
Key: 'file_jobs/' + jobId,
2439+
Url: url,
2440+
},
2441+
function(err, data){
2442+
logger.log(err || data);
2443+
});
2444+
}
2445+
2446+
// 提交哈希值计算任务
2447+
function postFileHash() {
2448+
var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/file_jobs';
2449+
var url = 'https://' + host;
2450+
var body = COS.util.json2xml({
2451+
Request: {
2452+
Tag: 'FileHashCode', // 必须
2453+
Input: {
2454+
Object: 'test/1.pdf', // 文件名,取值为文件在当前存储桶中的完整名称
2455+
},
2456+
Operation: {
2457+
FileHashCodeConfig: {
2458+
Type: 'MD5', // 哈希值的算法类型,有效值:MD5、SHA1、SHA256
2459+
AddToHeader: 'false', // 是否将计算得到的哈希值添加至文件自定义header, 有效值:true、false,默认值为 false。
2460+
},
2461+
// UserData: '', // 透传用户信息, 可打印的 ASCII 码, 长度不超过1024
2462+
},
2463+
// QueueId: '', // 任务所在的队列 ID
2464+
// CallBack: 'http://callback.demo.com', // 任务回调的地址
2465+
// CallBackFormat: 'JSON', // 任务回调格式
2466+
// CallBackType: 'Url', // 任务回调类型,Url 或 TDMQ,默认 Url
2467+
}
2468+
});
2469+
cos.request({
2470+
Method: 'POST',
2471+
Key: 'file_jobs',
2472+
Url: url,
2473+
Body: body,
2474+
ContentType: 'application/xml',
2475+
},
2476+
function(err, data){
2477+
logger.log(err || data);
2478+
});
2479+
}
2480+
2481+
// 查询哈希值计算任务结果
2482+
function getFileHashResult() {
2483+
var jobId = 'f3addcbd0a13811ed9b4ff5338d756fxx'; // 提交文件哈希值计算任务后会返回当前任务的jobId
2484+
var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/file_jobs/' + jobId;
2485+
var url = 'https://' + host;
2486+
cos.request({
2487+
Method: 'GET',
2488+
Key: 'file_jobs/' + jobId,
2489+
Url: url,
2490+
},
2491+
function(err, data){
2492+
logger.log(err || data);
2493+
});
2494+
}
2495+
23372496
(function () {
23382497
var list = [
23392498
'header-工具函数',
@@ -2453,6 +2612,12 @@ function orc() {
24532612
'identifyQrcode_get',
24542613
'generateQrcode',
24552614
'orc',
2615+
'postFileCompress',
2616+
'getFileCompress',
2617+
'postFileUnCompress',
2618+
'getFileUnCompress',
2619+
'postFileHash',
2620+
'getFileHashResult',
24562621
];
24572622
var labelMap = {
24582623
putObject: '简单上传',
@@ -2502,6 +2667,12 @@ function orc() {
25022667
identifyQrcode_get: '二维码识别(下载时识别)',
25032668
generateQrcode: '二维码生成',
25042669
orc: '图片文字识别',
2670+
postFileCompress: '提交文件压缩任务',
2671+
getFileCompress: '查询文件压缩任务',
2672+
postFileUnCompress: '提交文件解压任务',
2673+
getFileUnCompress: '查询文件解压任务',
2674+
postFileHash: '提交哈希值计算任务',
2675+
getFileHashResult: '查询哈希值计算任务结果',
25052676
};
25062677
var container = document.querySelector('.main');
25072678
var html = [];

0 commit comments

Comments
 (0)