概述
function fileSplit(inputFile, splitSize, outPath, ext) {
let i = 0
function copy(start, end, size) {
return new Promise((resolve, reject) => {
if (start >= size) {
resolve()
} else {
if (end > size - 1) { end = size - 1 }
const readStream = fs.createReadStream(inputFile, { start, end })
let data = Buffer.from([])
readStream.on('data', chunk => {
data = Buffer.concat([data, chunk])
})
readStream.on('end', async () => {
fs.writeFile(path.join(outPath, `split${i + 1}${ext}`), data, async err => {
if (err) { reject(err) }
i++
start = end + 1
end = end + splitSize
await copy(start, end, size)
resolve()
})
})
readStream.on('err', err => {
reject(err)
})
}
})
}
return new Promise((resolve, reject) => {
return fs.stat(inputFile, async (err, stat) => {
if (err) { return reject(err) }
const size = stat.size
await copy(0, splitSize - 1, size)
resolve(i)
})
})
}
fileSplit(path.join(__dirname, './test.mp4'), 1024 * 1024, __dirname, '.mp4').then(i => {
console.log(i)
}).catch(err => {
console.log(err)
})
最后
以上就是开心茉莉为你收集整理的nodejs把文件按字节分割的全部内容,希望文章能够帮你解决nodejs把文件按字节分割所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复