• 视频陶然居变形记:从路边小饭馆到全国餐饮十强 2019-07-21
  • 防震减灾事业发展的重要理论成果 2019-07-20
  • 珠宝配美人!李冰冰大片衣着性感秀身段 2019-07-20
  • 机器人也能拥有“情商”?这个可以有 2019-07-19
  • 重庆“轮椅教师”高位截瘫仍坚守讲台 2019-07-07
  • 百度车联网携手宝马 合作伙伴全面升级为国际OEM厂商 2019-07-01
  • 全面从严治党永远在路上——辽宁代表团开放日侧记 2019-07-01
  • 【学习时刻】华侨大学黄日涵:“一带一路”盛会开启合作发展新篇章 2019-06-24
  • 秒变迷弟!吴建豪晒与甄子丹合影:偶像给我签名 2019-06-20
  • 军统头目戴笠留下哪些巨额遗产 令蒋介石身边人惊诧 2019-06-20
  • 初春喝藿香汤 解表化湿,散寒温经 2019-06-18
  • 新华时评:磋商,不等于反复折腾 2019-06-09
  • 天山特克斯峡谷 中国国家地理网 2019-06-08
  • 端午小长假珠海口岸将迎双向客流高峰 2019-06-08
  • 王朝崩塌!恒大半个月内双线出局 卡帅敲响下课警钟 2019-06-07
  • 香港赛马会无错杀三肖:Node.js + express实现上传大文件的方法分析【图片、文本文件】

    香港赛马会网站惠泽社绝杀八码 www.mwcrz.tw  更新时间:2019年03月14日 10:05:40   作者:水中鱼之1999   我要评论

    这篇文章主要介绍了Node.js + express实现上传大文件的方法,结合实例形式分析了Node.js + express针对图片、文本文件上传操作实现方法及相关操作注意事项,需要的朋友可以参考下

    本文实例讲述了Node.js + express实现上传大文件的方法。分享给大家供大家参考,具体如下:

    对于大文件的上传我们首先要引入一个叫做 multer 的库:

    npm install --save multer
    
    

    关于这个库,大家可以查阅官方文档:

    点击跳转 https://www.npmjs.com/package/multer

    我们先将库引入我们的项目中:

    var multer = require('multer')
    var upload = multer({ dest: 'uploads/' })// 文件会上传到这个目录
    
    

    具体的 get 方法:

    app.post('/upload', upload.single('logo'), function(req, res){//发送 json 数据到这个路由
      console.dir(req.file);
      res.send(req.p);
    })
    
    

    由于上传文件要用到表当,所以我们这里先建立一个名为 form 表单:

    <!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>
      <form action="/upload" method="post" enctype="multipart/form-data">
        <h2>单图上传</h2>
        <input type="file" name="logo">
        <input type="submit" value="提交">
      </form>
    <body>
    </body>
    </html>
    
    

    然后我们在 server 中引入该表单:

    var fs = require('fs')
    // /from 的 html 界面,用于演示上传文件
    app.get('/form',function(req, res){
      var form = fs.readFileSync('./form.html',{ encoding : "utf8"});
      res.send(form);
    })
    
    

    由 localhost:3000/form 运行后上传文件,就能在你项目的upload目录下可看到:

    虽然上传成功,但w我n看到文件名是混乱的,而且路径也是固定:

    修改路径和文件名:

    // 更改大文件的存储路径
    var createFolder = function(folder){
      try{
        fs.accessSync(folder);
      }catch( e ){
        fs.mkdirSync(folder);
      }
    };
    var uploadFolder = './upload/';// 设定存储文件夹为当前目录下的 /upload 文件夹
    createFolder(uploadFolder);
    // 磁盘存贮
    var storage = multer.diskStorage({
      destination: function (req, file, cb) {
        cb(null, uploadFolder );// 他会放在当前目录下的 /upload 文件夹下(没有该文件夹,就新建一个)
      },
      filename: function (req, file, cb) {// 在这里设定文件名
        cb(null, file.originalname );
      }
    })
    var upload = multer({ storage: storage })
    
    

    效果:

    最后,这里是视屏连接方便大家学习:

    https://www.bilibili.com/video/av24385038/?p=6

    希望本文所述对大家nodejs程序设计有所帮助。

    相关文章

  • NodeJS中的MongoDB快速入门详细教程

    NodeJS中的MongoDB快速入门详细教程

    MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写。这篇文章主要介绍了NodeJS中的MongoDB快速入门详细教程的相关资料,需要的朋友可以参考下
    2016-11-11
  • 14款NodeJS Web框架推荐

    14款NodeJS Web框架推荐

    这篇文章主要介绍了14款NodeJS Web框架推荐,其中大多数框架都是基于node.js的Express实现,需要的朋友可以参考下
    2014-07-07
  • 最新评论

    常用在线小工具

  • 视频陶然居变形记:从路边小饭馆到全国餐饮十强 2019-07-21
  • 防震减灾事业发展的重要理论成果 2019-07-20
  • 珠宝配美人!李冰冰大片衣着性感秀身段 2019-07-20
  • 机器人也能拥有“情商”?这个可以有 2019-07-19
  • 重庆“轮椅教师”高位截瘫仍坚守讲台 2019-07-07
  • 百度车联网携手宝马 合作伙伴全面升级为国际OEM厂商 2019-07-01
  • 全面从严治党永远在路上——辽宁代表团开放日侧记 2019-07-01
  • 【学习时刻】华侨大学黄日涵:“一带一路”盛会开启合作发展新篇章 2019-06-24
  • 秒变迷弟!吴建豪晒与甄子丹合影:偶像给我签名 2019-06-20
  • 军统头目戴笠留下哪些巨额遗产 令蒋介石身边人惊诧 2019-06-20
  • 初春喝藿香汤 解表化湿,散寒温经 2019-06-18
  • 新华时评:磋商,不等于反复折腾 2019-06-09
  • 天山特克斯峡谷 中国国家地理网 2019-06-08
  • 端午小长假珠海口岸将迎双向客流高峰 2019-06-08
  • 王朝崩塌!恒大半个月内双线出局 卡帅敲响下课警钟 2019-06-07
  • 原广东彩票网 汉诺威96-沙尔克04 河南22选5好运3多少钱 一分赛车开奖记录 黑龙江快乐十分开奖 阿拉斯加垂钓电子游艺 3d268期三天计划 魔兽争霸4 利物浦5-0哈镇 赫塔菲体育开户