t-comm
Version:
专业、稳定、纯粹的工具库
37 lines (34 loc) • 1 kB
JavaScript
import * as fs from 'fs';
import { getCOSInstance, onUploadCOSProgress } from './helper.js';
import '../../bite/format-bite.js';
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 = getCOSInstance(secretId, secretKey);
var reader = fs.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: onUploadCOSProgress
}, function (err, data) {
if (data) {
resolve(data);
return;
}
reject(err);
});
});
}
export { uploadCOSStreamFile };