参照《node入门》一书敲的上传图片的程序,但是一直报path undefied;然后反复查找终于发现的问题:
检查三个地方:
1.var body = '<html>'+
'<head>'+
'<meta http-equiv="Content-Type" content="text/html;'+
'charset=UTF-8"/>'+
'</head>'+
'<body>'+
'<form action="/upload" method="post" enctype="multipart/form-data">'+ //这个地方一定要加上这一句,否则不能上传图片
'<input type="file" name="upload" multiple="multiple">'+
'<input type="submit" values="Upload file"/>'+
'</form>'+
'</body>'+
'</html>';
2.在server.js中不要加上 request.setEncoding("UTF8");
3.跨分区上传图片时在form定义时加上:
var form = new formidable.IncomingForm();
form.uploadDir = 'tmp'; //加上这一句
form.parse(request,function(error,fields,files){
fs.renameSync(files.upload.path,"./tmp/test.jpg");