Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const qiniu = require('qiniu');
const proc = require('process');
var accessKey = proc.env.QINIU_ACCESS_KEY;
var secretKey = proc.env.QINIU_SECRET_KEY;
var bucket = proc.env.QINIU_TEST_BUCKET;
var mac = new qiniu.auth.digest.Mac(accessKey, secretKey);
var config = new qiniu.conf.Config();
config.zone = qiniu.zone.Zone_z0;
config.useHttpsDomain = 'https';
var bucketManager = new qiniu.rs.BucketManager(mac, config);
// @param bucketName 空间名
bucketManager.getBucketInfo(bucket, function (err, respBody, respInfo) {
if (err) {
console.log(err);
throw err;
}
if (respInfo.status == 200) {
console.log('---respBody\n' + JSON.stringify(respBody) + '\n---');
console.log('---respInfo\n' + JSON.stringify(respInfo) + '\n---');
}
});
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_z0;
var bucketManager = new qiniu.rs.BucketManager(mac, config);
var srcBucket = proc.env.QINIU_TEST_BUCKET;
var srcKey = 'qiniu.mp4';
var destBucket = srcBucket;
var destKey = 'qiniu_new.mp4';
var options = {
force: true
};
bucketManager.move(srcBucket, srcKey, destBucket, destKey, options, function (
err, respBody, respInfo) {
if (err) {
console.log(err);
// throw err;
} else {
// 200 is success
console.log(respInfo.statusCode);
const uploadFile = async (
key,
localFile,
) => {
const config = new qiniu.conf.Config();
config.zone = qiniu.zone.Zone_z2;
config.useHttpsDomain = true;
config.useCdnDomain = true;
const formUploader = new qiniu.form_up.FormUploader(config);
const putExtra = new qiniu.form_up.PutExtra();
// 文件上传
return new promise((resolve, reject) => {
formUploader.putFile(uploadToken, key, localFile, putExtra, (err, res, respInfo) => {
console.log('ewwefwef,', respInfo);
if (err) {
reject(err);
} else {
resolve(Object.assign({}, res, {
url: `http://${bucketUrl}/${res.key}`,
}));
}
public async upload (stream: any) {
let {ctx} = this
let config = new qiniu.conf.Config();
// 空间对应的机房
config.zone = qiniu.zone.Zone_z2;
// 初始化上传方法
let formUploader = new qiniu.form_up.FormUploader(config);
let putExtra = new qiniu.form_up.PutExtra();
// 获取上传token
let uploadToken = this.getQiniuToken()
formUploader.putFile(uploadToken, '', stream, putExtra, (respErr,
respBody, respInfo) => {
if (respErr) {
throw respErr;
}
if (respInfo.statusCode == 200) {
ctx.returnBody(200, "上传成功", {
key: respBody.key,
hash: respBody.hash,
const qiniu = require('qiniu')
const accessKey = 'Yc-ddtGE46uCarACVI66b28vORkktAGoWdd821Ow'
const secretKey = 'H0MJMbEPVgv1gEmkeCI6ie1kTqW4Ka4A0aAuI54y'
const mac = new qiniu.auth.digest.Mac(accessKey, secretKey)
const config = new qiniu.conf.Config()
const bucket = 'community'
config.zone = qiniu.zone.Zone_z0 // 空间对应的机房
const formUploader = new qiniu.form_up.FormUploader(config)
const putExtra = new qiniu.form_up.PutExtra()
const getUploadToken = (options) => { //
const optionsTmp = options || {scope: bucket}
const putPolicy = new qiniu.rs.PutPolicy(optionsTmp)
return putPolicy.uploadToken(mac)
}
const uploader = (key, file, options) => {
return new Promise((res, rej) => {
formUploader.putStream(
getUploadToken(Object.assign({scope: bucket + ':' + key}, options)),
key, file, putExtra,
function (respErr, respBody, respInfo) {
if (respErr) {
function uploadToQiniu(req, res, imgkey) {
// 鉴权凭证
let { openqn, accessKey, secretKey, bucket, origin, fsizeLimit } = settings;
let config = new qiniu.conf.Config();
// 空间对应的机房
config.zone = qiniu.zone.Zone_z0;
// 是否使用https域名
//config.useHttpsDomain = true;
// 上传是否使用cdn加速
config.useCdnDomain = true;
let mac = new qiniu.auth.digest.Mac(accessKey, secretKey);
let options = {
scope: bucket,
fsizeLimit: fsizeLimit,
mimeLimit: 'image/*'
};
let putPolicy = new qiniu.rs.PutPolicy(options);
let uploadToken = putPolicy.uploadToken(mac);
let localFile = process.cwd() + "/public/" + imgkey;
let formUploader = new qiniu.form_up.FormUploader(config);
getZoneInfo(val) {
// 获取上传空间的空间区域
qiniu.zone.getZoneInfo(this.mac.accessKey, val, this.zoneInfoCallBack);
},
zoneInfoCallBack(...args) {
_uploadImgByQn(name, local) {
if (process.env.NODE_ENV === 'test') return '';
const mac = new qiniu.auth.digest.Mac(ACCESS_KEY, SECRET_KEY);
const putPolicy = new qiniu.rs.PutPolicy({
scope: `${BUCKET_NAME}:${name}`
});
const uploadToken = putPolicy.uploadToken(mac);
const config = new qiniu.conf.Config();
config.zone = qiniu.zone[ZONE];
const formUploader = new qiniu.form_up.FormUploader(config);
const putExtra = new qiniu.form_up.PutExtra();
return new Promise((resolve, reject) => {
formUploader.putFile(uploadToken, name, local, putExtra, (err, body, info) => {
fs.unlinkSync(local);
if (err) reject(err);
if (info.statusCode === 200) {
resolve(body.key);
} else {
reject(body.error);
}
});
});
}
async qiniuUpload (localFile, key) {
try {
const {accessKey, secretKey, bucket} = settings.qiniuConfig
const mac = new qiniu.auth.digest.Mac(accessKey, secretKey)
const putPolicy = new qiniu.rs.PutPolicy({scope: bucket})
const uploadToken = putPolicy.uploadToken(mac)
const config = new qiniu.conf.Config()
config.zone = qiniu.zone.Zone_z1
const formUploader = new qiniu.form_up.FormUploader(config)
const putExtra = new qiniu.form_up.PutExtra()
return new Promise(function (resolve, reject) {
formUploader.putFile(uploadToken, key, localFile, putExtra, function (respErr, respBody, respInfo) {
if (respErr) return reject(respErr)
if (respInfo.statusCode === 200) return resolve(respBody)
reject(new Error('上传失败:statusCode !== 200'))
})
})
} catch (error) {
throw error
}
}