#javascript #node.js #image #upload
#javascript #node.js #изображение #загрузка
Вопрос:
Я пытаюсь создать небольшой сервис, который преобразует изображения из одного типа в другой. Я перейду к части преобразования позже, прямо сейчас я даже не могу отправить его на сервер узла должным образом.
у меня есть простой скрипт, который должен использовать файловую систему для чтения изображения, а затем отправлять его на конечную точку сервера узла.
Я не смог найти способ сделать это нигде в Интернете
я пробовал всевозможные способы и форматы, но на конечной точке 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.log(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.log(req.body);
res.send("Hello i work")
})
module.exports = router;
Что я хочу, так это получить данные на конечной точке сервера и иметь возможность обработать их и преобразовать, например: загрузить jpg, преобразовать и отправить обратно в формате png или наоборот.
Помощь высоко ценится
Комментарии:
1. Может быть, это потому, что вы отправляете запрос на localhost: 3000 /convert , а в вашем маршрутизаторе нет /convert? Попробуйте изменить router.post(«/»…. в router.post(«/convert»….
2. О, спасибо за ответ, но это не то, я назвал его /convert в app.js итак, в маршрутизаторе это просто ‘/’
3. Если я не ошибаюсь, по умолчанию в объекте запроса нет свойства body. Не уверен, что это недавно изменилось, но вы можете использовать body-parser. Я не знаю, может ли это вам помочь, но вы можете взглянуть на: twilio.com/blog/2017/08/http-requests-in-node-js.html
4. Кстати, я предполагаю, что вы используете разные приложения NodeJS, и вы сначала запускаете свой сервер, а затем отправляете запрос правильно?
5. Я изучаю это прямо сейчас, обновлю, если это решит, спасибо