Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const uploadFile = (token, key, localFile) => {
const extra = new qiniu.io.PutExtra();
return new Promise((resolve, reject) => {
qiniu.io.putFile(token, key, localFile, extra, (err, ret) => {
if (!err) {
// 上传成功, 处理返回值
console.log('Upload success!', ret.hash, ret.key);
resolve(true);
} else {
// 上传失败, 处理返回代码
console.error('Upload Error!', err);
reject(false);
}
});
});
}
return new Promise((resolve, reject) => {
const extra = new qiniu.io.PutExtra();
// 上传到七牛后保存的文件名
const key = `${namespaces}/${path.basename(localFile)}`;
// 生成上传 Token
const token = uptoken(bucket, key);
qiniu.io.putFile(token, key, localFile, extra, (err, ret) => {
if (!err) {
ret.href = `${domain}/${ret.key}`;
resolve(ret);
} else {
reject(err);
}
});
});
};
const qiniu = require('qiniu')
const path = require('path')
const url = require('url')
const request = require('request')
const PutPolicy = qiniu.rs.PutPolicy
const PutExtra = qiniu.io.PutExtra
// 上传策略函数
const uptoken = (bucket, key) => new PutPolicy(`${bucket}:${key}`).token()
// 默认参数
const formatParam = (file, mdFileName) => {
const dt = new Date()
const y = dt.getFullYear()
const m = dt.getMonth() + 1
const d = dt.getDate()
const h = dt.getHours()
const mm = dt.getMinutes()
const s = dt.getSeconds()
const date = `${y}${m}${d}`
var ext = path.extname(file)
return files.forEach(file => {
const KEY = file.replace(BASE, `${NAME}/${VERSION}`)
const TOKEN = new qiniu.rs.PutPolicy(`${BUCKET}:${KEY}`).token()
const EXTRA = new qiniu.io.PutExtra()
qiniu.io.putFile(TOKEN, KEY, file, EXTRA, (err, res) => {
if (err) return console.error(err)
return console.log(res.hash, res.key)
})
})
})
uploadFile( file ) {
let localFile = path.join(this.local, file);
let key = path.join(this.remote, file);
let extra = new qiniu.io.PutExtra();
this.uploading++;
qiniu.io.putFile(this.__token, key, localFile, extra, ( err, ret ) => {
this.uploaded++;
if ( err ) {
this.failedFiles.push(file);
this.emit("upload:fail", this, ret, err);
}
else {
this.emit("upload:success", this, ret);
}
});
}
function uploadFile(uptoken, key, localFile) {
let extra = new qiniu.io.PutExtra();
qiniu.io.putFile(uptoken, key, localFile, extra, function(error, response) {
if(!error) {
console.log('[Success] File uploaded: ' + response.key);
} else {
console.log(error);
}
});
}
exports.upload = function (path,key) {
var extra = new qiniu.io.PutExtra();
var uptoken = getUptoken(config.qiniu.bucket);
return this.uploadFile(uptoken, key, path, extra).then(function(result){
result.url = config.qiniu.domain + result.key;
return result;
});
}
return new promise((resolve, reject) => {
qiniu.io.putFile(uptoken(config.bucket, key), key, localFile, extra, (err, ret) => {
if (err) {
reject(err);
}
else {
resolve(ret);
}
});
});
}
'use strict';
var _ = require('lodash');
var config = require('../../config/env');
var mongoose = require('mongoose');
var Promise = require("bluebird");
var qiniu = require('qiniu');
qiniu.conf.ACCESS_KEY = config.qiniu.app_key;
qiniu.conf.SECRET_KEY = config.qiniu.app_secret;
var client = new qiniu.rs.Client();
//对一般操作进行promise封装
var uploadFile = Promise.promisify(qiniu.io.putFile, qiniu.io);
var moveFile = Promise.promisify(client.move, client);
var copyFile = Promise.promisify(client.copy, client);
var removeFile = Promise.promisify(client.remove, client);
var statFile = Promise.promisify(client.stat, client);
var fetchFile = Promise.promisify(client.fetch, client);
var allList = Promise.promisify(qiniu.rsf.listPrefix, qiniu.ref);
exports.uploadFile = uploadFile;
exports.moveFile = moveFile;
exports.copyFile = copyFile;
exports.removeFile = removeFile;
exports.statFile = statFile;
exports.fetchFile = fetchFile;
exports.allList = allList;
//获取上传凭证
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);
}
});
});
}