我尝试将图片上传到我的express-nodejs服务器并使用multer req.file
为undefined
:
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)。