• 好朋友、和平奖可能人家抱了。 2019-05-20
  • 【北京荣祥月达车型报价】北京荣祥月达综合店车型价格 2019-05-20
  • 脸上长痘代表对应内脏有问题?专家:未发现相关性 2019-05-19
  • 和静县首届东归节6月23日开幕 2019-05-18
  • 太空监视飞行器相关新闻 2019-05-18
  • 警车化身“产房” 冰雪路上“生命接力” 2019-05-17
  • 百部网络正能量动漫音视频作品评选 2019-05-16
  • 初二少年与家长争吵离家出走 客运站人员发觉异样后拦下 2019-05-15
  • 陈海滢的专栏作者中国国家地理网 2019-05-14
  • 乐平市:开展流动党校“培训在基层”活动(图) 2019-05-13
  • 你遇到了吗用户吐槽升iOS 11.4后耗电过快用户吐槽升iOS11后耗电过快-行情资讯 2019-05-12
  • 兼容海量游戏外设 微软打碟机竟是万用控制器 2019-05-12
  • (原创)取消“份子钱”是出租车改革必须迈出的一步 2019-05-11
  • 京城“风筝赵”教你玩转北京风筝 2019-05-11
  • 埃及苏伊士运河大学孔子学院企业拓展训练营顺利举行 2019-05-10
  • 香港赛马会一句中特料: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-05-20
  • 【北京荣祥月达车型报价】北京荣祥月达综合店车型价格 2019-05-20
  • 脸上长痘代表对应内脏有问题?专家:未发现相关性 2019-05-19
  • 和静县首届东归节6月23日开幕 2019-05-18
  • 太空监视飞行器相关新闻 2019-05-18
  • 警车化身“产房” 冰雪路上“生命接力” 2019-05-17
  • 百部网络正能量动漫音视频作品评选 2019-05-16
  • 初二少年与家长争吵离家出走 客运站人员发觉异样后拦下 2019-05-15
  • 陈海滢的专栏作者中国国家地理网 2019-05-14
  • 乐平市:开展流动党校“培训在基层”活动(图) 2019-05-13
  • 你遇到了吗用户吐槽升iOS 11.4后耗电过快用户吐槽升iOS11后耗电过快-行情资讯 2019-05-12
  • 兼容海量游戏外设 微软打碟机竟是万用控制器 2019-05-12
  • (原创)取消“份子钱”是出租车改革必须迈出的一步 2019-05-11
  • 京城“风筝赵”教你玩转北京风筝 2019-05-11
  • 埃及苏伊士运河大学孔子学院企业拓展训练营顺利举行 2019-05-10