使用formidable处理图片上传时,new formidable.IncomingForm().parse()回调里的files对象为空
其他的代码没贴,/index 是个表单,用来上传图像,提交到 /upload, 提交之后,form.parse(request, function (error, fields, files){}); 回调里面的files对象是个空对象,这是nodejs 入门里面的一个例子。刚开始学,请大家帮忙看看,不甚感激
var http = require('http');
var url = require('url');
var formidable = require('formidable');
var sys = require('sys');
var server = http.createServer(function (req,res){
var pathname = url.parse(req.url).pathname;
//console.log(req.method);
if(req.url === '/upload' && req.method.toLowerCase() === 'post'){
var form = new formidable.IncomingForm();
form.parse(req, function (error, fields,files){
console.log(files); // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!这里是一个空对象???
res.writeHead(200,{'Content-Type': 'text/plain'});
res.end(sys.inspect({fields: fields, files: files}));
});
return;
};
res.writeHead(200,{'Content-Type': 'text/html'});
res.end('<!DOCTYPE html>'+
'<html lang="en">'+
'<head>'+
'<meta charset="UTF-8">'+
'<title>nodeJs</title>'+
'</head>'+
'<body>'+
'<form action="/upload" method="post" entype="multipart/form-data">'+
'<table>'+
'<tr>'+
'<td>'+
'<input type="file" name="upload" multiple="multiple">'+
'</td>'+
'</tr>'+
'<tr>'+
'<td>'+
'<input type="submit" value="submit">'+
'</td>'+
'</tr>'+
'</table>'+
'</body>'+
'</html>');
});
server.listen('8080');
console.log('server start');
4 回复