2016-07-17 2 views
0

Я хочу сохранить изображения base64 в db (mongodb), но не знаю, как получить запрос в node.js.upload formdata to node.js

Это мой Чиленто код стороне

$('.imageUp').change(function(){ 

     upload(new FormData(this)) 
}) 

function upload(formData){ 
$.ajax({ 
     url: '/upload_img', 
     type: 'POST', 
     data: formData, 
     processData: false 
    }) 
} 

Тогда что я должен делать в узле?

router.post('/upload_img', function(req, res, next) { 
// what to do here? how to get the post file? I'm going to save it to mongodb 
}); 
+0

Я знаю его, может быть, не ваше представление вопроса, но я предпочитаю использовать IFRAME в загружаемых файлов Создать Iframe во время выполнения Создайте форму с ее атрибутами в этом элементе iframe с ('enctype', 'multipart/form-data') – Marwan

+1

Не решение вашего вопроса 'FormData()' принимает необязательный ' form' как его аргумент, а не элемент 'input'. Вероятно, вы должны использовать 'new FormData()' и 'formData.append()'. – JLRishe

+0

@JLRishe Я не получаю вас –

ответ

0

Использование .append() на FormData объекта на стороне клиента, чтобы передать FormData содержащий пользователь выбрал File объект upload

$(".imageUp").change(function() { 
    var data = new FormData(); 
    // requires two parameters to be passed 
    data.append("file", this.files[0]); 
    upload(data) 
})