mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-02-19 00:18:56 +01:00
Update downloadFile to debug log percentage complete
This commit is contained in:
parent
24d6e390f0
commit
201e12ecc3
@ -286,10 +286,23 @@ module.exports.downloadFile = (url, filepath, contentTypeFilter = null) => {
|
|||||||
return reject(new Error(`Invalid content type "${response.headers?.['content-type'] || ''}"`))
|
return reject(new Error(`Invalid content type "${response.headers?.['content-type'] || ''}"`))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const totalSize = parseInt(response.headers['content-length'], 10)
|
||||||
|
let downloadedSize = 0
|
||||||
|
|
||||||
// Write to filepath
|
// Write to filepath
|
||||||
const writer = fs.createWriteStream(filepath)
|
const writer = fs.createWriteStream(filepath)
|
||||||
response.data.pipe(writer)
|
response.data.pipe(writer)
|
||||||
|
|
||||||
|
let lastProgress = 0
|
||||||
|
response.data.on('data', (chunk) => {
|
||||||
|
downloadedSize += chunk.length
|
||||||
|
const progress = totalSize ? Math.round((downloadedSize / totalSize) * 100) : 0
|
||||||
|
if (progress >= lastProgress + 5) {
|
||||||
|
Logger.debug(`[fileUtils] File "${Path.basename(filepath)}" download progress: ${progress}% (${downloadedSize}/${totalSize} bytes)`)
|
||||||
|
lastProgress = progress
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
writer.on('finish', resolve)
|
writer.on('finish', resolve)
|
||||||
writer.on('error', reject)
|
writer.on('error', reject)
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user