var connect = require('connect'); //引入connect模块
var fs = require( 'fs' );//引入fs模块
var server = connect(
connect.static('./staticY'),//利用static中间件添加staticY文件夹
connect.bodyParser(),//链接bodyParser中间件
function(req,res,next){
if ( 'POST'== req.method && req.files) {
fs.readFile( req.files.hello.path, 'utf8', function ( err, data ) {
if ( err ) {//如果出错的话
res.writeHead( 500 );
res.end( 'Error' );
return;
}
res.writeHead( 200, { 'Content-Type': 'text/html;charset=utf-8' } );
res.end([
'<h3>File:' + req.files.hello.name + '</h3>',
'<h3>Type:' + req.files.hello.type + '</h3>',
'<h3>File:' + data + '</h3>',
].join(''));
})
} else {
next();
}
}
)
server.listen(3000);
然后我们在staticY文件夹里面创建一个index.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="/" method="POST" enctype="multipart/form-data">
<input type="file" name="hello" multiple="multiple">
<button>Send File</button>
</form>
</body>
</html>
注意点:
1.这里的input必须加上属性name 和multiple,不然无法实现post
2.req.files.hello.name hello就是input的name属性
结果: