尝试使用multer和xmlhttprequest上传图像时,req.file未定义

时间:2016-07-20 18:03:16

标签: javascript node.js express xmlhttprequest multer

我尝试将图片上传到我的express-nodejs服务器并使用multer req.fileundefined

server.js:

var express    = require('express');
var app        = express();
var multer     = require('multer');
...   
var upload = multer({ dest: './img-user' });
app.post('/api/img-user/:title',  upload.single('file'), function(req, res, next){
    console.log(req.file); //form files                                                                                                                                                                                               
    console.log(__dirname);
    res.status(204).end();
});

register.js:

form.onsubmit = function () { return false };

if (xhr2.readyState == 4 && xhr2.status === 200 ){
    console.log(xhr.responseText);
}

fd = new FormData();
fd.append('file', document.getElementById("upload-button").files[0]);

xhr2.open("POST", "http://myAPI/"+fields.username.value, true);
xhr2.setRequestHeader("Content-type", false);
xhr2.send(fd);

register.jade:

form(name='form', role='form', enctype='multipart/form-data')
  .form-group
      .fileUpload.btn.btn-primary#picture
        span Picture
        input.upload#upload-button(my-upload, file="file", type='file', name='file', accept='image/*')

我不想使用form html标签,而是使用FormData js对象和xmlhttprequest,而不是$ .ajax(绝对不是jQuery)。

0 个答案:

没有答案