Публиковать файл, используя собственный запрос https в nodejs - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужно отправить файл в node.js по некоторому URL-адресу, и я могу сделать это, используя get:

const FormData = require('form-data');
const formData = new FormData();
const got = require('got');

formData.append('image', require('fs').createReadStream(require('path').resolve('test.png')))
const gotRequest = {
    timeout: 5000,
    query: {filename: 'some-file.png'},
    body: formData,
    headers:
    {
        Authorization: 'token,
        'Content-Type': `multipart/form-data; boundary=${formData.getBoundary()}`,
    }
}

await got('https://my-url.com/api/attachments', gotRequest);

Но когда я пытаюсь сделать это с native https.request , я получаю сообщение об ошибке - код состояния 400:

const opts = {
    host: 'my-url.com',
    path: '/api/attachments',
    method: 'POST',
    headers: {
        Authorization: 'token',
        'Content-Type': `multipart/form-data; boundary=${formData.getBoundary()}`
    },
    body: formData
}

const req = https.request(opts, (res) => {
    console.log('statusCode:', res.statusCode);
    console.log('headers:', res.headers);

    res.on('data', (d) => {
        process.stdout.write(d);
    });
});

req.on('error', (e) => {
    console.error(e);
});
req.end();

Как сделать эту логику, используя собственный https.request?

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