利用connect的body parser中间件构建上传文件操作

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属性

 

结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值