Express檔案上傳之Multer
Express檔案上傳之Multer
Multer是一個nodejs中介軟體,用來處理http提交multipart/form-data,也就是檔案上傳。它是在busboy的基礎上開發的。
在我看來,Multer是眾多上傳中介軟體裡面使用起來最優雅的,且能滿足大部分的上傳要求。API也相對來說較為直觀和簡單。
安裝
1
|
npm install multer --save
|
基本用法
1 2 3 4 5
|
var express = require('express') var multer = require('multer') var app = express() app.use(multer({ dest: './uploads/'}))
|
1 2 3 4
|
router.use(function(req,res,next){ console.log(req.files); //JSON Object next(); });
|
從上面的程式碼可以看到,multer作為一箇中介軟體傳入了app.use,當有上傳請求到來時,express會攔截此請求並通過multer元件完成上傳操作。在multer初始化方法中傳入的是配置物件,我們可以在裡面配置我們自定義的引數,例如“檔案大小限制”,“檔案數量限制”等等。
不僅可以新增限制,還能給上傳註冊事件,例如:
1 2 3 4 5 6 7 8 9 10 11
|
//上傳開始時觸發 onFileUploadStart:function(file){ console.log("upload start"); } //上傳結束時觸發 onFileUploadComplete:function(file){ console.log("upload complete"); } ......
|
我們在真正接受上傳的action中,通過req中的files獲得檔案的基本資訊,此資訊為JSON格式,常用的資訊如下。
originalname - 檔案原名
path - 上傳檔案存放的路徑
size - 檔案大小
更多詳細的屬性和配置請參見Multer的Github主頁。
文章作者:foreverpx
文章原文連結:Express檔案上傳之Multer
相關文章
- node使用multer進行檔案上傳
- Express檔案表單解析中介軟體 Multer簡介Express
- 【nodejs】multer外掛批量上傳NodeJS
- Ajax 之檔案上傳
- SpringMVC之檔案上傳SpringMVC
- 小程式之檔案上傳
- Web安全之檔案上傳Web
- Node.js 教程第九篇——Express 檔案上傳Node.jsExpress
- php檔案上傳之多檔案上傳PHP
- Vue+axios+Node+express實現檔案上傳(使用者頭像上傳)VueiOSExpress
- 使用nodejs+express完成簡單的檔案上傳功能NodeJSExpress
- nodejs+express(4.x+)實現檔案上傳功能NodeJSExpress
- JavaWeb之SpringMVC上傳檔案JavaWebSpringMVC
- 單個檔案上傳和批量檔案上傳
- Web 安全漏洞之檔案上傳Web
- Java Web之SpringMVC 上傳檔案JavaWebSpringMVC
- php圖片上傳之檔案安全PHP
- 檔案上傳
- SpringMVC 單檔案上傳與多檔案上傳SpringMVC
- Java大檔案上傳、分片上傳、多檔案上傳、斷點續傳、上傳檔案minio、分片上傳minio等解決方案Java斷點
- 漏洞重溫之檔案上傳(總結)
- Koa2 之檔案上傳下載
- jmeter之http請求-如何上傳檔案JMeterHTTP
- 檔案上傳之三基於flash的檔案上傳
- 前端大檔案上傳/分片上傳前端
- Flask——檔案上傳Flask
- PHP上傳檔案PHP
- JavaScript 檔案上傳JavaScript
- Git上傳檔案Git
- YII檔案上傳
- 檔案上傳概述
- beego上傳檔案Go
- 上傳檔案流程
- 上傳EXCLE檔案
- PHP 檔案上傳PHP
- 檔案上傳漏洞
- Android 大檔案上傳秒傳之實戰篇Android
- MVC檔案上傳 - 使用Request.Files上傳多個檔案MVC