Как загрузить изображение на конечную точку сервера узла, используя чистый javascript?

Я пытаюсь создать небольшой сервис, который конвертирует изображения из одного типа в другой. Я перейду к части преобразования позже, сейчас я даже не могу правильно отправить его на сервер узла.

У меня есть простой сценарий, который должен использовать файловую систему для чтения изображения, а затем отправить его в конечную точку сервера узла.

Я не мог найти способ сделать это нигде в Интернете

я пробовал всевозможные способы и форматы, но в конечной точке req.body всегда является пустым объектом или просто ошибкой

const fse = require('fs-extra');


var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var xhr = new XMLHttpRequest();





fse.readFile('testimg.png', function (err, data) {
    if (err) {
        throw err
    }
    console.info(data)
    xhr.open("POST", 'http://localhost:3000/convert', true); // true for asynchronous 

    xhr.setRequestHeader('Content-Type', 'application/upload');






    xhr.send(data)

})

and this is the server endpoint:

var express = require('express');
var router = express.Router();




router.get('/', (req,res)=>{
  res.send("hello")
})

router.post('/', async(req,res)=>{


  console.info(req.body);

  res.send("Hello i work")
})


module.exports = router;

Я хочу получить данные на конечной точке сервера и иметь возможность обрабатывать их и преобразовывать, например: загружать jpg, конвертировать и отправлять обратно как png или наоборот.

Помощь высоко ценится

Может быть, это потому, что вы отправляете запрос на локальный хост: 3000/конвертировать, а в вашем маршрутизаторе нет /convert? Попробуйте изменить router.post("/".... на router.post("/convert"....

lucaswerner 01.04.2019 14:59

О, спасибо за ответ, но это не так, я назвал его /convert в app.js, поэтому в маршрутизаторе это просто «/»

adame21 01.04.2019 15:00

Если я не ошибаюсь, по умолчанию в объекте запроса нет свойства body. Не уверен, изменилось ли это в последнее время, но вы можете использовать body-parser. Я не знаю, может ли это вам помочь, но вы можете взглянуть на: twilio.com/blog/2017/08/http-requests-in-node-js.html

lucaswerner 01.04.2019 15:05

Кстати, я предполагаю, что вы используете разные приложения NodeJS, и вы сначала запускаете свой сервер, а затем отправляете запрос, верно?

lucaswerner 01.04.2019 15:09

Я изучаю это прямо сейчас, обновлю, если решит, спасибо

adame21 01.04.2019 15:09

Привет @lucaswerner, да, я запускаю два разных экземпляра. я прочитал статью, на которую вы ссылаетесь, но она получает запросы, которые не так важны, я пытаюсь опубликовать изображение с помощью файла javascript на сервере узла

adame21 01.04.2019 15:13
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
54
0

Другие вопросы по теме