Я делаю простое приложение, которое будет загружать файл на сервер, который был перетащен на холст.
Вот небольшой пример того, как выглядит код перетаскивания:
var files = event.dataTransfer.files;
var formData = new FormData();
formData.append('files', files);
Используя инструменты отладки, я знаю, что files
определен правильно.
Затем я делаю запрос:
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);
xhr.send(formData);
Но мой сервер, на котором работает Node JS, получает пустое тело ответа:
var express = require('express');
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({
extended: false
}));
app.post('/upload', function(req, res) {
console.log(req.body.files);
res.end();
});
Я пробовал отлаживать как на стороне клиента, так и на стороне сервера, но не могу понять. Хотя мне кажется странным, что объект formData
выглядит так:
FormData {append: function}
__proto__: FormData
Почему добавленный объект files
не отображается?
Любое понимание того, в чем проблема, будет с благодарностью!