我是靠谱客的博主 开心茉莉,最近开发中收集的这篇文章主要介绍nodejs把文件按字节分割,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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把文件按字节分割所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部