wepy-plugin-resources-cdn
Version:
upload wepy resources to cdn
59 lines (40 loc) • 2.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _promise = require('promise');
var _promise2 = _interopRequireDefault(_promise);
var _upyun = require('upyun');
var _upyun2 = _interopRequireDefault(_upyun);
var _utils = require('../../utils');
var _utils2 = _interopRequireDefault(_utils);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var UpyunDriver = function () {
function UpyunDriver(options) {
_classCallCheck(this, UpyunDriver);
this.options = options;
this.options.upyun.options = this.options.upyun.options || {};
var service = new _upyun2.default.Service(this.options.upyun.service, this.options.upyun.name, this.options.upyun.password);
this.client = new _upyun2.default.Client(service, this.options.options);
}
_createClass(UpyunDriver, [{
key: 'uploader',
value: function uploader(remotePath, localFile) {
var _this = this;
return new _promise2.default(function (resolve, reject) {
_this.client.putFile(remotePath, _fs2.default.createReadStream(localFile)).then(function (res) {
var url = _this.options.upyun.domain + '/' + remotePath;
resolve(_utils2.default.responeCdn(url, res));
}).catch(function (e) {
reject(e);
});
});
}
}]);
return UpyunDriver;
}();
exports.default = UpyunDriver;