node.js实现文件合并

需求:

实现两个文件的合并。

代码:

const fs = require("fs");

function combine(file1,file2) {

    var size = 0;

    fs.stat(file1,function (err,stat) {

        if(stat.isFile()){

            size = stat.size;

            console.log(size);

            let WSoptions = {

                start: size,

                flags: "r+"

            }

            let WStream = fs.createWriteStream(file1,WSoptions)

            let readStream = fs.createReadStream(file2);

            readStream.pipe(WStream)

        }

    })

}

const file1 = "result.pdf";

const file2 = "wendangceshi.pdf";

上述代码实现的功能为,将file1和file2两个文件合并到file1文件中。
问题:
目前发现的问题为,对于两个pdf文件,合并后的文件仅有file2文件的内容,但合并后文件的大小为两个文件大小之和。而对于文本文件(指txt文件),却能正常合并内容,求码友不吝赐教,说明一下原因。
合并前的文本:

https://img3.mukewang.com/5ca56dc500017e9308000369.jpg

合并后的文本:
https://img.mukewang.com/5ca56dc7000121e108000484.jpg

合并前的pdf:

https://img2.mukewang.com/5ca56dca0001178803750178.jpg

https://img.mukewang.com/5ca56dcc000161cf05430238.jpg

合并后的pdf图:

https://img2.mukewang.com/5ca56dce0001328805900053.jpg

https://img.mukewang.com/5ca56dcf0001ca4f07000371.jpg

combine(file1,file2);


  [1]: /img/bVbbqr9


鸿蒙传说
浏览 636回答 1
1回答

凤凰求蛊

pdf是一个很复杂的文件格式,不是把两个流合并一起内容就合在一起了。你也不能把两张图片的流合在一起变成一张合成图不是么。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript