最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node文件上傳功能簡易實(shí)現(xiàn)代碼

 更新時間:2017年06月16日 15:41:41   作者:楊成功  
本篇文章主要介紹了node文件上傳功能簡易實(shí)現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

找了不少文件上傳的相關(guān)模塊,最后選擇了比較常用,并且是express推薦使用的 multer 來實(shí)現(xiàn)文件上傳,附上 GitHub 地址

1. 開始

開始第一步,自然就是安裝模塊,不多說

npm install multer --save

這里簡單說一下,因?yàn)槲募蟼魇怯?post 方法提交數(shù)據(jù),所以上傳的單文件或者多文件會作為一個 body 體添加到請求對象中,我們可以通過 req.file 或者 req.files 查看上傳后文件的相關(guān)信息。

以單文件上傳為例,req.file 返回一個對象:

{
   "fieldname":"avatar",  #前端上傳文件input的name
   "originalname":"Wx.php",  #本地文件名
   "encoding":"7bit",  #文件編碼類型
   "mimetype":"text/php",  #文件類型
   "destination":"uploads/",  #上傳根目錄
   "filename":"1497286037422Wx.php",  #上傳后文件名
   "path":"uploads/1497286037422Wx.php",  #文件路徑
   "size":18174  #文件大小
}

該對象的 key 值是固定的,velue 值根據(jù)配置生成,用于實(shí)現(xiàn)相關(guān)邏輯

2. 實(shí)現(xiàn)

實(shí)現(xiàn)分兩部分,前端和后端

前端

前端就是普通的寫法,form 表單提交

<form action="/test/upload" method="post" enctype="multipart/form-data">
  <input type="file" name="avatar">
  <input type="submit" name="提交">
</form>

切記,enctype="multipart/form-data" 這個屬性一定要加上,否則后臺接收不到文件。

后端

首先我們新建配置文件,upload.js

// upload.js

var multer = require('multer');  # 引入模塊

var storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'uploads/')
  },
  filename: function (req, file, cb) {
    cb(null, Date.now()+file.originalname)
  }
})

var upload = multer({ storage: storage })

module.exports = upload;

diskStorage方法相當(dāng)于創(chuàng)建一個磁盤存儲引擎,配置文件上傳路徑,文件名等,可控性更高。

destination  # 設(shè)置文件上傳路徑
filename    # 重命名文件

然后新建路由接收文件,file.js

// file.js 

var express = require('express');
var router = express.Router();

// 引入配置文件
var upload = require('../config/upload');

router.post('/upload', upload.single('avatar'), function(req, res, next) {
  res.send(req.file);
});

module.exports = router;

file.js 中 upload.single() 方法表示接受單文件,常用的有

upload.single(fname);  // 接收單文件
upload.array(fname[, maxCount])  //接收多文件,maxCount表示接收最大數(shù)量

fname 是前端 <input type="file" name="fname"> 的 name 值

基本的上傳文件方法就這些了,當(dāng)然還有很多的配置參數(shù)之類的設(shè)置,要參考 GitHub 說明,地址在開頭,需要者自行查閱

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • node.js做一個簡單的爬蟲案例教程

    node.js做一個簡單的爬蟲案例教程

    這篇文章主要介紹了node.js做一個簡單的爬蟲案例教程,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • NodeJs 包管理工具的使用

    NodeJs 包管理工具的使用

    本文主要介紹了NodeJs 包管理工具,主要包括npm,cnpm及yarn,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 安裝Node.js并啟動本地服務(wù)的操作教程

    安裝Node.js并啟動本地服務(wù)的操作教程

    今天小編就為大家分享一篇安裝Node.js并啟動本地服務(wù)的操作教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • node.js中cluster的使用教程

    node.js中cluster的使用教程

    這篇文章主要介紹了node.js中cluster的使用教程,分別介紹使用NODE中cluster利用多核CPU、通過消息傳遞來監(jiān)控工作進(jìn)程狀態(tài)以及終止進(jìn)程等功能,給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧
    2017-06-06
  • Nodejs文件上傳、監(jiān)聽上傳進(jìn)度的代碼

    Nodejs文件上傳、監(jiān)聽上傳進(jìn)度的代碼

    這篇文章主要介紹了Nodejs文件上傳、監(jiān)聽上傳進(jìn)度,本文通過實(shí)例代碼給大家詳細(xì)介紹,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • NodeJS鏈接MySql數(shù)據(jù)庫的操作方法

    NodeJS鏈接MySql數(shù)據(jù)庫的操作方法

    下面小編就為大家?guī)硪黄狽odeJS鏈接MySql數(shù)據(jù)庫的操現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • node.js中的buffer.fill方法使用說明

    node.js中的buffer.fill方法使用說明

    這篇文章主要介紹了node.js中的buffer.fill方法使用說明,本文介紹了buffer.fill的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node如何將package.json中的包降為低版本或者升級為高版本

    node如何將package.json中的包降為低版本或者升級為高版本

    比如現(xiàn)在你用某個包的當(dāng)前版本,但是你安裝的版本高了,那么你應(yīng)該這么做,首先刪除node項(xiàng)目中的node_modules目錄,防止安裝時的包不一致,下面給大家介紹node將package.json中的包降為低版本或者升級為高版本的方法,感興趣的朋友一起看看吧
    2023-11-11
  • 詳解node.js平臺下Express的session與cookie模塊包的配置

    詳解node.js平臺下Express的session與cookie模塊包的配置

    本篇文章主要介紹了詳解node.js平臺下Express的session與cookie模塊包的配置,具有一定的參考價值,有興趣的可以了解一下。
    2017-04-04
  • node省市區(qū)三級數(shù)據(jù)性能測評實(shí)例分析

    node省市區(qū)三級數(shù)據(jù)性能測評實(shí)例分析

    這篇文章主要介紹了node省市區(qū)三級數(shù)據(jù)性能,結(jié)合具體實(shí)例形式評測分析了node省市區(qū)三級數(shù)據(jù)的實(shí)現(xiàn)、改進(jìn)方法與運(yùn)行效率,需要的朋友可以參考下
    2019-11-11

最新評論

同江市| 巫山县| 团风县| 图们市| 大余县| 广河县| 白城市| 阿鲁科尔沁旗| 雅安市| 高尔夫| 嘉义县| 七台河市| 德江县| 车险| 碌曲县| 荔波县| 财经| 肇东市| 海丰县| 巴塘县| 惠安县| 吉首市| 柳江县| 灵台县| 长宁区| 河西区| 淳化县| 将乐县| 杨浦区| 西华县| 淮南市| 台北市| 内江市| 塔河县| 开封县| 昔阳县| 城市| 女性| 原阳县| 泰顺县| 新巴尔虎右旗|