UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

61 lines (54 loc) 1.72 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var fs = require('fs'); var tencentCloud_cos_helper = require('./helper.js'); require('../../bite/format-bite.js'); function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n["default"] = e; return Object.freeze(n); } var fs__namespace = /*#__PURE__*/_interopNamespace(fs); function uploadCOSStreamFile(_a) { var file = _a.file, key = _a.key, secretId = _a.secretId, secretKey = _a.secretKey, bucket = _a.bucket, region = _a.region; return new Promise(function (resolve, reject) { var cos = tencentCloud_cos_helper.getCOSInstance(secretId, secretKey); var reader = fs__namespace.createReadStream(file.path); cos.putObject({ Bucket: bucket, Region: region, Key: key, StorageClass: 'STANDARD', Body: reader, ContentLength: file.size, Headers: { 'x-cos-traffic-limit': 819200 // 限速值设置范围为819200 - 838860800,即100KB/s - 100MB/s,如果超出该范围将返回400错误。 }, onProgress: tencentCloud_cos_helper.onUploadCOSProgress }, function (err, data) { if (data) { resolve(data); return; } reject(err); }); }); } exports.uploadCOSStreamFile = uploadCOSStreamFile;