クライアントでは、XHR2 を使用Formdata
して ajax でファイルをアップロードします。
var send = function (file) {
var xhr = new XMLHttpRequest();
xhr.file = file;
xhr.open('post', '/upload', true);
xhr.send(file);
}
var fd = new FormData();
fd.append('image', _file); // the _file is my file
xhr.send(fd);
node.js サーバーで:
app.configure(function(){
app.use(express.bodyParser({
uploadDir: "public/images",
keepExtensions: true,
limit: 10000000, /* 10M 10*1000*1000 */
defer: true
}));
app.use(express.static(__dirname + "/public"));
});
app.post("/upload", function (req, res) {
console.log(req.files);
console.log(req.body);
res.send("ok");
})
奇妙なことに、ファイルは正常にアップロードできましたがreq.files
、req.body
情報をログに記録できず、それらはすべて空のオブジェクトです。
保存パス、サイズ、名前などのアップロードファイルの情報を取得するにはどうすればよいですか?