nodejs+multiparty 文件上传

通过表单提交上传文件:

    html代码

<form action="/uploadFile" method="post" enctype="multipart/form-data">
      <input type="file" class="files" id="files" name="files">
      <input type="submit" class="uploadFile" value="文件上传">
</form>
windows下安装multiparty
npm install multiparty
multiparty使用:multiparty文档 https://www.npmjs.com/package/multiparty
multiparty代码
var multiparty = require('multiparty');
app.post('/uploadFile',function(req.res){
    var form = new multiparty.Form();
    // res.setHeader('text/plain');
    var msg = {info:'',img:''};
    console.log(__dirname);
    form.encoding = 'utf-8';
    form.uploadDir = __dirname+"/uploads";

    //设置单文件大小限制
    form.maxFilesSize = 2 * 1024 * 1024;
    //form.maxFields = 1000;  设置所以文件的大小总和
    form.parse(req, function(err, fields, files) {
        if(err){
            console.log('错误');
            msg.info = '上传失败';
            res.send(msg);
            return ;
        }
        console.log(files.files[0].originalFilename);
        msg.img=path.join(__dirname,'/uploads/'+files.files[0].originalFilename);
        console.log(msg.img);
        msg.info = '上传成功'
        msg.len = files.length;
        res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
        res.send(msg);
    });

});

参考链接:

https://www.npmjs.com/package/multiparty

https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/form

posted @ 2017-08-31 13:07  leijee  阅读(5409)  评论(0编辑  收藏  举报