Отправка изображения по почте с помощью Angular и NodeJS - PullRequest
0 голосов
/ 06 марта 2019

В настоящее время я изучаю одновременно Angular и NodeJS для небольшого рабочего проекта, но в последние дни у меня возникают проблемы с отправкой изображения (снято с Canvas, изображение хорошее и протестировано на теге img) на мой сервер node.js (с экспрессом) из Angular.

Изображение вроде хорошо отправлено (проверено на вкладке «Сеть», оно в запросе), но я не могу получить его на стороне сервера. Я предполагаю, что что-то не так с тем, как я отправляю это или как я должен получить это на стороне сервера. Сервер подтверждает почтовый запрос, так как логи отображаются в терминале, но все из запроса (параметры, тело и т. Д.) Пусто или не определено.

Соответствующий код ниже, на чьей стороне что-то не так или отсутствует? Или даже если это что-то еще, что я мог пропустить за пределами этого?

Угловая сторона

//From my component, then sent to my service (imgData from sendImage)
const formData = new FormData();
formData.append('file', canvas.toDataURL(), 'capturedimage');

//Method inside my service
sendImage(imgData: FormData):any {
    this.http.post('http://localhost:3000/vision', imgData)
    .subscribe(data => {
        console.log(data);
    });
}

Node.js Side

app.post('/vision', (req, res) => {
    console.log('Received'); // Received
    console.log(req.params); // {}
    console.log(req.body); // undefined
    console.log(req.file); // undefined
    res.send('Response');
});

1 Ответ

0 голосов
/ 06 марта 2019

Пожалуйста, используйте npm multer в nodejs для разбора multipart / form-data.Пожалуйста, перейдите по этой ссылке https://github.com/expressjs/multer

...