z.cn/wangzhan/weihu/"> 网站运营维护
  • 案例

  • 方案

  • 电商网站开发

  • 微信小程序

  • 我们

  • 联系

  • 资讯

    精准传达 • 有效沟通

    从品牌网站建设到网络营销策划,从策略到执行的一站式服务

    nodejs中怎么利用express实现一个文件上传功能

    这期内容当中小编将会给大家带来有关nodejs中怎么利用express实现一个文件上传功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

    创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的资中网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

    步骤:

    (1)使用express创建项目,默认使用的是jade模板引擎,但是还是习惯于html,所以就改为html模板。
    (2)在项目目录中,通过npm install multiparty进行安装必要组件。
    (3)修改views/index.html,添加一个文件上传的form。

    index.html

    
    
    
      
      上传文件
    
    
      上传文件
      
        
        
      
    
    

    (4)修改routes/index.js,实现上传页面和上传响应的后台代码。

    var express = require('express');
    var router = express.Router();
    var multiparty = require('multiparty');
    var util = require('util');
    var fs = require('fs');
    /* 上传页面. */
    router.get('/', function(req, res, next) {
     //res.render('./views/index');
     res.sendfile('./views/index.html');
    });
    /* 上传 */
    router.post('/file/uploading', function(req, res, next) {
      /* 生成multiparty对象,并配置上传目标路径 */
      var form = new multiparty.Form();
      /* 设置编辑 */
      form.encoding = 'utf-8';
      //设置文件存储路劲
      form.uploadDir = './public/files';
      //设置文件大小限制
      form.maxFilesSize = 2 * 1024 * 1024;
      // form.maxFields = 1000;  //设置所有文件的大小总和
      //上传后处理
      form.parse(req, function(err, fields, files) {
        var filesTemp = JSON.stringify(files, null, 2);
        if(err) {
          console.log('parse error:' + err);
        }else {
          console.log('parse files:' + filesTemp);
          var inputFile = files.inputFile[0];
          var uploadedPath = inputFile.path;
          var dstPath = './public/files' + inputFile.originalFilename;
          //重命名为真实文件名
          fs.rename(uploadedPath, dstPath, function(err) {
            if(err) {
              console.log('rename error:' + err);
            }else {
              console.log('rename ok');
            }
          })
        }
        res.writeHead(200, {'content-type': 'text/plain;charset=utf-8'});
        res.write('received upload:\n\n');
        res.end(util.inspect({fields: fields, files: filesTemp}))
      })
    })
    module.exports = router;

    上述就是小编为大家分享的nodejs中怎么利用express实现一个文件上传功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


    名称栏目:nodejs中怎么利用express实现一个文件上传功能
    分享URL:http://cdkjz.cn/article/gceiei.html
    多年建站经验

    多一份参考,总有益处

    联系快上网,免费获得专属《策划方案》及报价

    咨询相关问题或预约面谈,可以通过以下方式与我们联系

    大客户专线   成都:13518219792   座机:028-86922220