Я не очень хорошо разбираюсь в JavaScript и HTTP-запросах, совершенно не знаком с NodeJS, и я не могу загрузить файл (изображение JPEG) с помощью модулей NodeJS.
Для целей отладкиЯ установил следующее на стороне сервера:
<?php echo var_dump($_POST); ?>
Существует множество похожих вопросов по SO, и я пробовал различные примеры, которые я нашел там и в других местах, например, на документации пакета form-data
, например
var request = require('request');
var fs = require('fs');
var filepath = '/path/to/image.jpg';
var url = 'http://example.org/upload.php';
var formData = {
myfile: fs.createReadStream(filepath)
}
request.post({url: url, formData: formData}, function(err, resp, body) {
if (err) throw err;
console.log(body);
}
Но все, что я получаю, это
array(0) {
}
Чего мне не хватает?Мне показалось, что весь смысл этих пакетов состоял в том, чтобы избежать необходимости создавать запрос POST (границы и т. Д.), Нужно ли его создавать?
PS: я пометил puppeteer
, потому что этотакже приемлемый вариант для меня (я пытался заставить его работать с Puppeteer, прежде чем подумать, что это может быть проще с голым NodeJS.