之前学习nodejs入门遇到的问题,链接 现在问题已经解决,是因为路由模块中upload得到的request参数method属性总是"Get",加上了判断就没有问题:
function upload (response, request) {
console.log('Request handler "upload" was called.');
if (request.url == '/upload' && request.method.toLowerCase() == 'post'){
var form = new formidable.IncomingForm();
form.uploadDir = 'tmp';
form.parse(request, function(error, fields, files){
try{
console.log(request.method); //没加判定之前一直是get
fs.renameSync(files.upload.path, './tmp/test.png');
}catch(e){
console.log(e);
}
response.writeHead(200, {'Content-Type': 'text/html'});
response.write('Received image: <br>');
response.write('<img src="/show" />');
response.end();
});
}
}
上面代码第三行是根据formidable说明加上的。 虽然问题没了,但是不太明白为什么,谁能帮忙解释一下啊