UNPKG

rocket-cli

Version:

Pure command line tool to replace Baidu('百毒') NetDisk or other NetDisk with this COOL shit!

63 lines (59 loc) 1.9 kB
var qiniu = require('qiniu'); var db = require('../db/index'); var util = require('../util'); var Promise = require('promise'); var bucket = ''; var domain = ''; function generateUploadtoken(bucket, cloudFileName) { var putPolicy = new qiniu.rs.PutPolicy(bucket + ":" + cloudFileName); return putPolicy.token(); } module.exports = { init: function () { return new Promise(function (resolve, reject) { db.getInstance().find({ bucket: {$exists: true}, secretKey: {$exists: true}, accessKey: {$exists: true} }, function (err, docs) { if (err || !docs || docs.length === 0) { util.logError('No cloud config found! \n'); util.logError('Use config -h for help\n'); reject('Cannot find config '); } else { var cloudConfig = docs[0]; qiniu.conf.ACCESS_KEY = cloudConfig.accessKey; qiniu.conf.SECRET_KEY = cloudConfig.secretKey; bucket = cloudConfig.bucket; domain = cloudConfig.domain; return resolve(); } }); }); }, upload: function (cloudFileName, locaFile) { return new Promise(function (resolve, reject) { var extra = new qiniu.io.PutExtra(); qiniu.io.putFile(generateUploadtoken(bucket, cloudFileName), cloudFileName, locaFile, extra, function (err, ret) { if (!err) { return resolve(ret); } else { return reject(err); } }).on('error', function () {}); }); }, download: function (key) { return new Promise(function (resolve, reject) { var url = 'http://' + domain + '/' + key; var policy = new qiniu.rs.GetPolicy(); var downloadUrl = policy.makeRequest(url); if (downloadUrl) { util.logSuccess('\n Download url: ' + downloadUrl); resolve(downloadUrl); } else { reject(''); } }); } };