Как отправить post запрос с данными?

174
08 января 2019, 23:40

Отправляю изображение на api сервиса:

let img = fs.readFileSync('public/img/logo.jpg'); 
 
 
var options = { 
    body: img, 
    headers: { 
        Authorization: `Basic ${new Buffer.from(`api:<my API>`).toString('base64')}`, 
    }, 
    method: 'POST', 
    hostname: 'api.tinify.com', 
    path: '/shrink' 
  }; 
 
https.request(options, function(res,req){ 
    var data = ''; 
    res.on('data', function(chunk){ 
        data += chunk; 
    }); 
    res.on('end', function(e){ 
        console.log(data); 
    }); 
}).end();

Консоль пишет: {"error":"InputMissing","message":"Input file is empty"}

Answer 1

Немного подкоректировал Ваш код. Посмотрите, так все работает. Вы некорректно отправили в запросе содержимое файла, поэтому и вылезала ошибка

// Зависимости
const fs = require('fs');
const https = require('https');
const path = require('path');
const img = fs.readFileSync(path.join(__dirname, './public/img/logo.png'));

const options = {
  method: 'POST',
  protocol: 'https:',
  hostname: 'api.tinify.com',
  path: '/shrink',
  headers: {
    Authorization: `Basic ${Buffer.from('api:<Your-API>').toString('base64')}`,
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': Buffer.byteLength(img),
  },
};
const req = https.request(options, function (res, req) {
  var data = '';
  res.on('data', function (chunk) {
    data += chunk;
  });
  res.on('end', function (e) {
    console.log(data);
  });

});
// Отправить содержимое картинки на сервер
req.write(img);
// Завершить запрос
req.end();
READ ALSO
Как в vuex вывести данные реактивно через store в разные шаблоны

Как в vuex вывести данные реактивно через store в разные шаблоны

Не могу разбросаться как выводить значения при заполнение Input в одном компоненте через store Для вывода в другом, сейчас сделал через computed, всё...

179
Изменить стили в активном блоке

Изменить стили в активном блоке

Есть несколько блоков с товарами, по клику на блок нужно изменить стили дочерних элементов (уsizes-block,

155
Как правильно сделать выборку с двух таблиц?

Как правильно сделать выборку с двух таблиц?

Есть таблица gamefication http://prntscrcom/kwmqns В ней список всех "заданий" для пользователей

154