Отправка больших данных изображения по HTTP в Node.js

В моей среде разработки у меня есть два сервера. Один отправляет и изображение другому черезPOST http запрос.

Клиентский сервер делает это:

    fs.readFile(rawFile.path,'binary',function (err, file){
        restler.post("http://0.0.0.0:5000",{
            data: file,
            headers:{
                "Content-Type": rawFile.type,
            }
        }).on('complete',function(data,response){                               
            console.log(data);
            res.send("file went through")
        })

Сервер, который получает запрос, делает это:

    server.post('/',function(req,res,next){
        fs.writeFileSync("test.png",req.body,"binary",function(err){
            if(err) throw err;
            res.send("OK")
        })
    })

Если я отправляю небольшое изображение, оно работает нормально. Однако, если я отправляю большое изображение, хотя файл сохранен правильно, отображается только первая верхняя часть изображения. Остальное черное. Размер изображения правильный.

Я предполагаю, что это только первый фрагмент изображения, который записывается в файл. Я пытался создатьreadStream иwriteStream но это не похоже на работу:

req.body.pipe(fs.createWriteStream('test.png'))

Могу ли я поток непосредственно из двоичных данных иpipe это в файл? За то, что я видел,readStream часто используется для потоковой передачи из файлов, а не из двоичных данных.

Я прочитал несколькоПочтас, но это не похоже на работу для меня.

я используюrestler модуль в клиентском сервере иrestify в другом.

Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос