Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
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 = {
var qiniu = require("qiniu");
//需要填写你的 Access Key 和 Secret Key
qiniu.conf.ACCESS_KEY = 'iUTbwTRLotclpFa8kHoeSUvgxgvH1WL2-ROdbY7B';
qiniu.conf.SECRET_KEY = 'pArurQYI4YcMJK1hA6HAvArS0xNMmRVH70627SkQ';
//要上传的空间
var bucket_name = 'testvideo2';
//上传到七牛后保存的文件名
// key = 'my-nodejs-logo.png';
//构建上传策略函数
function create_uptoken(bucket_name) {
var putPolicy = new qiniu.rs.PutPolicy(bucket_name);
return putPolicy.token();
}
//生成上传 Token
var uptoken = create_uptoken(bucket_name);
console.log('uptoken =')
console.log(uptoken)
var qiniu = require('qiniu');
var path = require('path');
// 初始化ak,sk
qiniu.conf.ACCESS_KEY = 'ACCESS_KEY';
qiniu.conf.SECRET_KEY = 'SECRET_KEY';
var EntryPath = qiniu.rs.EntryPath;
var EntryPathPair = qiniu.rs.EntryPathPair;
//bucket 空间名
//key 文件名
var client = new qiniu.rs.Client();
client.stat(bucket, key,function(err, ret){
if (!err) {
// 上传成功, 处理返回值
console.log(ret.hash);
console.log(ret);
//ret.should.have.keys('hash', 'fsize', 'putTime', 'mimeType');
// ret.key & ret.hash
} else {
var qiniu = require('qiniu')
var Helper = require('./helper')
var request = require('request')
var querystring = require('querystring')
var localEnv = Helper.readLocalEnv()
qiniu.conf.ACCESS_KEY = localEnv.qiniu.accessKey
qiniu.conf.SECRET_KEY = localEnv.qiniu.secretKey
let bucket = localEnv.qiniu.bucket
var qn = {
// 构建上传策略函数
uptoken: (bucket, key) => {
var putPolicy = new qiniu.rs.PutPolicy(bucket + ':' + key)
return putPolicy.token()
},
// 普通上传
upload: (file, removePrefix) => {
let fullname = Helper.uploadFileName(file, removePrefix)
console.log('===', removePrefix, fullname)
var express = require('express');
var qiniu = require('qiniu');
// required, type your ACCESS_KEY and SECRET_KEY here
qiniu.conf.ACCESS_KEY = '';
qiniu.conf.SECRET_KEY = '';
// will be removed after all io-nodes ready support CORS
qiniu.conf.IO_HOST = 'http://ionode-my-1.qbox.me';
// specify a common bucket name for storage your files
var bucket = 'MY_UPLOADS_BUCKET';
var conn = new qiniu.digestauth.Client();
var rs = new qiniu.rs.Service(conn, bucket);
var app = express.createServer();
app.get('/putauth.json', function(req, res){
// our front-end isnot serve by node server, all of them are static files
// so we need output response headers for CORS
// or you can change to use template engine for render pages
res.header('Pragma', 'no-cache');
res.header('Cache-Control', 'no-store, no-cache, must-revalidate');
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, "上传成功", {
constructor(options) {
if (!options || !options.ACCESS_KEY || !options.SECRET_KEY) {
throw new Error('ACCESS_KEY and SECRET_KEY must be provided');
}
this.options = Object.assign({}, options);
qiniu.conf.ACCESS_KEY = this.options.ACCESS_KEY;
qiniu.conf.SECRET_KEY = this.options.SECRET_KEY;
}
if (think.isEmpty(config)) {
return false;
}
const qiniu = config.qiniu;
if (think.isEmpty(qiniu)) {
return false;
}
const bucket = qiniu.bucket;
const accessKey = qiniu.access_key;
const secretKey = qiniu.secret_key;
const mac = new QN.auth.digest.Mac(accessKey, secretKey);
const putPolicy = new QN.rs.PutPolicy({ scope: bucket });
const uploadToken = putPolicy.uploadToken(mac);
const qnConfig = new QN.conf.Config();
const formUploader = new QN.form_up.FormUploader(qnConfig);
const putExtra = new QN.form_up.PutExtra();
const localFile = data.filepath;
return new Promise((resolve, reject) => {
formUploader.putFile(uploadToken, data.basename, localFile, putExtra, (respErr, respBody, respInfo) => {
if (respErr) {
reject(respErr);
}
if (respInfo.statusCode == 200) {
resolve(respBody);
} else {
reject(respBody);
}
});
const qiniu = require('qiniu');
const promise = require('bluebird');
const config = require('../../../config/project');
qiniu.conf.ACCESS_KEY = config.accessKey;
qiniu.conf.SECRET_KEY = config.secretKey;
function uptoken(bucket, key) {
return new qiniu.rs.PutPolicy(`${bucket}:${key}`).token();
}
function uploadFile(key, localFile) {
const extra = new qiniu.io.PutExtra();
return new promise((resolve, reject) => {
qiniu.io.putFile(uptoken(config.bucket, key), key, localFile, extra, (err, ret) => {
if (err) {
reject(err);
}
else {
resolve(ret);
}
_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);
}
});
});
}