Сохранить изображение с express, отправленным скриптом узла - PullRequest
1 голос
/ 05 января 2020

Я пытаюсь отправить изображение с помощью этого nodejs сценария:


var http = require('http'),
    fs = require('fs');

var post_options = {
    host: '192.168.43.193',
    path: '/testAPI/upload_img_mt',
    port: 80,
    timeout: 120000,
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    }
}

var sender = http.request(post_options, function(res) {
    if (res.statusCode < 399) {
        var text = ""
        res.on('data', function(chunk) {
            text += chunk
        })
        res.on('end', function(data) {
            console.log(text)
        })
    } else {
        console.log("ERROR", res.statusCode)
    }
})

var POST_DATA = 'data={['
POST_DATA += fs.readFileSync("C:/Users/alessio/Documents/FX/screenshot.png").toString()
POST_DATA += ']}'
console.log(POST_DATA)
sender.write(POST_DATA)
sender.end()

Код сервера, который будет сохранять изображение:

router.post('/upload_img_mt', function(req, res, next){
    console.log(req.body.data);
    fs.writeFile('downloaded.png', req.body.data, '', function (err){ console.log(err) });
    res.sendStatus(200);
});

проблема в том, что изображение не является допустимым png, а размер изображения неверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...