ks3
Version:
本代码库为`金山云存储KS3`服务.主要提供`KS3 nodejs SDK`和`命令行工具`.
32 lines (22 loc) • 887 B
JavaScript
const addProgressListener = function (request) {
let receivedBytes = 0;
let totalBytes = 0;
totalBytes = request.headers['Content-Length'] || 0
request.on('response', (data) => {
// 更新总文件字节大小
totalBytes = parseInt(data.headers['content-length'], 10);
});
request.on('data', chunk => {
receivedBytes += chunk.length;
// console.log('download receivedBytes, totalBytes:', receivedBytes, totalBytes)
if (request.downloadListener) request.downloadListener(receivedBytes, totalBytes)
})
// 可自行监听 end事件
// request.on('end', () => {})
request.on('drain', () => {
const uploadBytes = request.req.connection.bytesWritten;
// console.log('upload bytesWritten, totalBytes:', uploadBytes, totalBytes);
if (request.uploadListener) request.uploadListener(uploadBytes, totalBytes)
});
}
module.exports = addProgressListener