Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Отправка Post запроса с nodejs (https://javascript.ru/forum/node-js-io-js/73146-otpravka-post-zaprosa-s-nodejs.html)

dfcz112 24.03.2018 19:36

Отправка Post запроса с nodejs
 
Всем привет. Мне нужно с nodejs отправить форму, которая содержит в себе файл, и настройки. Саму форму можно посмотреть на https://www.imgonline.com.ua/grid-square.php . Т.е. мне нужно отправить такую же форму только с nodejs
Я накопал модуль needle для отправки post запроса. А вот так через модуль form-data я определяю нужные мне поля
var form = new FormData();
          form.append('uploadfile', fs.createReadStream('./files/temp.jpg'));
          form.append('ef-set', 10);
          form.append('ef-set-2', 10);
          form.append('jpeg-quality', 100);

          needle.post('https://www.imgonline.com.ua/grid-square-result.php', form, function (err, resp) {
            console.log(resp);
          });

Но в ответе получаю ошибку "указания настроек"

Audaxviator 24.03.2018 20:55

var request = require('request');
var fs = require('fs');

var formData = {
  'uploadfile': fs.createReadStream('file_ws.jpg'),
  'ef-set': 10,
  'ef-set-2': 10,
  'jpeg-quality': 100
};

request.post({url:'https://www.imgonline.com.ua/grid-square-result.php', formData: formData}, function (err, resp, body) {
  if (err) {
    return console.error(err);
  }
  console.log(resp.statusCode + '\n');
  console.log('body: ', body);
});

dfcz112 24.03.2018 21:02

Цитата:

Сообщение от Audaxviator (Сообщение 481374)
var request = require('request');
var fs = require('fs');

var formData = {
  'uploadfile': fs.createReadStream('file_ws.jpg'),
  'ef-set': 10,
  'ef-set-2': 10,
  'jpeg-quality': 100
};

request.post({url:'https://www.imgonline.com.ua/grid-square-result.php', formData: formData}, function (err, resp, body) {
  if (err) {
    return console.error(err);
  }
  console.log(resp.statusCode + '\n');
  console.log('body: ', body);
});

так всё падает с ошибкой C:\nodejs\node_modules\form-data\lib\form_data.js:226
} else if (options.filename || value.name || value.path) {
^

TypeError: Cannot read property 'name' of null
at FormData._getContentDisposition (C:\nodejs\node_modules\form-data\lib\form_data.js:226:40)

dfcz112 24.03.2018 21:04

А не, всё заработало! Это я не туда посмотрел. Спасибо за помощь!


Часовой пояс GMT +3, время: 01:14.