Есть форма:
<form id="photo-form" name="upload" enctype="multipart/form-data" method="post" action="/upload">
Виберіть зображення, які бажаете загрузити.
<input id="files-field" type="file" multiple="multiple" />
<input type="submit">
<a class="send-files button tiny small-4">Загрузити</a>
</form>
Обработка отправки Js:
(function(){
$('body').on('click', '.send-files', function() {
var formData = new FormData(),
items = $('#files-field')[0].files
formData.append('file', items);
$.ajax({
type: "POST",
url: '/upload',
data: formData,
processData: false,
success: function(){
//window.location.href = '/';
}
});
})
}());
NodeJs:
upload.post('/', function(req, res) {
var form = new formidable.IncomingForm();
form.uploadDir ='..//public/images';
form.keepExtensions = false;
form.type = 'multipart/form-data';
form.multiples = true;
form.on('error', function(err) {
console.log(err);
});
console.log(form);
form.on('end', function(fields, files) {
console.log('end')
});
form.parse(req, function(err, fields, files) {
console.log(err, fields, files)
});
res.end();
});
Вывод консоли:
{ domain: null,
_events: { error: [Function] },
_maxListeners: 10,
error: null,
ended: false,
maxFields: 1000,
maxFieldsSize: 2097152,
keepExtensions: false,
uploadDir: '..//public/images',
encoding: 'utf-8',
headers: null,
type: 'multipart/form-data',
hash: false,
multiples: true,
bytesReceived: null,
bytesExpected: null,
_parser: null,
_flushing: 0,
_fieldsSize: 0,
openedFiles: [] }
end
null {} {}
Примерно такая же ситуация с другими middleware для загрузки файлов - приходит пустой запрос.