Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
qiniu.conf.ACCESS_KEY = setup.QINIU_AK;
qiniu.conf.SECRET_KEY = setup.QINIU_SK;
//要转码的文件所在的空间和文件名
let bucket = setup.QINIU_BUCKET;
let key = 'thinkjs-create-project.mp4';
//转码所使用的队列名称。
let pipeline = 'abc';
//要进行转码的转码操作。
let fops = "avthumb/mp4/s/640x360/vb/1.25m"
//可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当前空间
let saveas_key = qiniu.util.urlsafeBase64Encode(saved_bucket+':'+saved_key);
fops = fops+'|saveas/'+saveas_key;
// console.log(saveas_key);
let opts = {
pipeline: pipleline
};
var PFOP = qiniu.fop.pfop(bucket, key, fops, opts, function(err, ret) {
if(!err) {
console.log(ret);
// 上传成功, 处理返回值
console.log('curl '+'http://api.qiniu.com/status/get/prefop?id='+ret.persistentId);
} else {
// 上传失败, 处理返回代码
console.log(err);
}
});
select: 2,
score: 0.0002
},
{
label: '2',
select: 2,
score: 0.0002
}
]
}
}
]
};
var accessToken = qiniu.util.generateAccessTokenV2(mac, url, 'POST', 'application/json', JSON.stringify(json));
urllib.request(url, {
method: 'POST',
headers: {
Authorization: accessToken,
'Content-Type': 'application/json'
},
data: JSON.stringify(json)
}, function (err, data, res) {
if (err) {
console.log(err);
throw err; // you need to handle error
}
console.log(res.statusCode);
console.log(res);
console.log(data.toString());
callbackBodyType: 'application/json'
};
putPolicy = new qiniu.rs.PutPolicy(options);
console.log(putPolicy.uploadToken(mac));
// 带回调业务服务器的凭证(application/x-www-form-urlencoded)
options = {
scope: bucket,
callbackUrl: 'http://api.example.com/qiniu/upload/callback',
callbackBody: 'key=$(key)&hash=$(etag)&bucket=$(bucket)&fsize=$(fsize)&name=$(x:name)'
};
putPolicy = new qiniu.rs.PutPolicy(options);
console.log(putPolicy.uploadToken(mac));
// 带数据处理的凭证
var saveMp4Entry = qiniu.util.urlsafeBase64Encode(bucket +
':avthumb_test_target.mp4');
var saveJpgEntry = qiniu.util.urlsafeBase64Encode(bucket +
':vframe_test_target.jpg');
var avthumbMp4Fop = 'avthumb/mp4|saveas/' + saveMp4Entry;
var vframeJpgFop = 'vframe/jpg/offset/1|saveas/' + saveJpgEntry;
options = {
scope: bucket,
persistentOps: avthumbMp4Fop + ';' + vframeJpgFop,
persistentPipeline: 'video-pipe',
persistentNotifyUrl: 'http://api.example.com/qiniu/pfop/notify'
};
putPolicy = new qiniu.rs.PutPolicy(options);
console.log(putPolicy.uploadToken(mac));
async pfop() {
qiniu.conf.ACCESS_KEY = this.accessKey;
qiniu.conf.SECRET_KEY = this.secretKey;
// 要转码的文件所在的空间和文件名
const bucket = this.bucket;
const key = 'thinkjs-create-project.mp4';
// 转码所使用的队列名称。
const pipeline = 'abc';
// 要进行转码的转码操作。
let fops = 'avthumb/mp4/s/640x360/vb/1.25m';
// 可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当前空间
const saveas_key = qiniu.util.urlsafeBase64Encode(saved_bucket + ':' + saved_key);
fops = fops + '|saveas/' + saveas_key;
// console.log(saveas_key);
const opts = {
pipeline: pipleline
};
var PFOP = qiniu.fop.pfop(bucket, key, fops, opts, function(err, ret) {
if (!err) {
console.log(ret);
// 上传成功, 处理返回值
console.log('curl ' + 'http://api.qiniu.com/status/get/prefop?id=' + ret.persistentId);
} else {
// 上传失败, 处理返回代码
console.log(err);
}
});
const qiniu = require('qiniu');
const proc = require('process');
var accessKey = proc.env.QINIU_ACCESS_KEY;
var secretKey = proc.env.QINIU_SECRET_KEY;
var mac = new qiniu.auth.digest.Mac(accessKey, secretKey);
var config = new qiniu.conf.Config();
// config.useHttpsDomain = true;
config.zone = qiniu.zone.Zone_z1;
var operManager = new qiniu.fop.OperationManager(mac, config);
// 处理指令集合
var saveBucket = proc.env.QINIU_TEST_BUCKET;
var fops = [
'avthumb/mp4/s/480x320/vb/150k|saveas/' + qiniu.util.urlsafeBase64Encode(
saveBucket + ':qiniu_480x320.mp4'),
'vframe/jpg/offset/10|saveas/' + qiniu.util.urlsafeBase64Encode(saveBucket +
':qiniu_frame1.jpg')
];
var pipeline = 'jemy';
var srcBucket = 'if-bc';
var srcKey = 'qiniu.mp4';
var options = {
notifyURL: 'http://api.example.com/pfop/callback',
force: false
};
// 持久化数据处理返回的是任务的persistentId,可以根据这个id查询处理状态
operManager.pfop(srcBucket, srcKey, fops, pipeline, options, function (err,
respBody,
}
//trim 'https://'
if (domain.indexOf('https://') != -1) {
domain = domain.substr(8);
}
//trim '/' if the domain's last char is '/'
if (domain.lastIndexOf('/') === domain.length - 1) {
domain = domain.substr(0, domain.length - 1);
}
var baseUrl = qiniu.rs.makeBaseUrl(domain, key);
var deadline = 3600 + Math.floor(Date.now() / 1000);
baseUrl += '?e=' + deadline;
var signature = qiniu.util.hmacSha1(baseUrl, config.SECRET_KEY);
var encodedSign = qiniu.util.base64ToUrlSafe(signature);
var downloadToken = config.ACCESS_KEY + ':' + encodedSign;
if (downloadToken) {
res.json({
downtoken: downloadToken,
url: baseUrl + '&token=' + downloadToken
})
}
}
export const createBucket = (mac, name, region) => {
let url = createBucketUrl + qiniu.util.urlsafeBase64Encode(name) + "/region/" + region;
return http.post(url, null, {
headers: {
Authorization: qiniu.util.generateAccessToken(mac, url)
}
});
};
export const getBucketList = data =>
http.get(getBucketListUrl, {
headers: {
Authorization: qiniu.util.generateAccessToken(data, getBucketListUrl)
}
});
listBuckets: (callbackFunc) => {
const requestURI = `${ucUrl}/v2/buckets`;
const digest = Qiniu.util.generateAccessToken(mac, requestURI, null);
Qiniu.rpc.postWithoutForm(requestURI, digest, callbackFunc)
}
};
}
//trim 'https://'
if (domain.indexOf('https://') != -1) {
domain = domain.substr(8);
}
//trim '/' if the domain's last char is '/'
if (domain.lastIndexOf('/') === domain.length - 1) {
domain = domain.substr(0, domain.length - 1);
}
var baseUrl = qiniu.rs.makeBaseUrl(domain, key);
var deadline = 3600 + Math.floor(Date.now() / 1000);
baseUrl += '?e=' + deadline;
var signature = qiniu.util.hmacSha1(baseUrl, config.SECRET_KEY);
var encodedSign = qiniu.util.base64ToUrlSafe(signature);
var downloadToken = config.ACCESS_KEY + ':' + encodedSign;
if (downloadToken) {
res.json({
downtoken: downloadToken,
url: baseUrl + '&token=' + downloadToken
})
}
});