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
- 使用nodejs+express完成簡單的檔案上傳功能NodeJSExpress
- Vue+axios+Node+express實現檔案上傳(使用者頭像上傳)VueiOSExpress
- 單個檔案上傳和批量檔案上傳
- Web 安全漏洞之檔案上傳Web
- 檔案上傳
- Java大檔案上傳、分片上傳、多檔案上傳、斷點續傳、上傳檔案minio、分片上傳minio等解決方案Java斷點
- 漏洞重溫之檔案上傳(總結)
- Koa2 之檔案上傳下載
- 檔案上傳之三基於flash的檔案上傳
- 前端大檔案上傳/分片上傳前端
- Android大檔案上傳秒傳之MD5篇Android
- PHP上傳檔案PHP
- 檔案上傳概述
- ajaxfileupload 檔案上傳
- Flask——檔案上傳Flask
- Linux上傳檔案Linux
- 檔案上傳漏洞
- minio上傳檔案
- SpringBoot上傳檔案Spring Boot
- JavaScript 檔案上傳JavaScript
- Git上傳檔案Git
- .NET Core 如何上傳檔案及處理大檔案上傳
- Linux伺服器上傳檔案傳送檔案Linux伺服器
- 檔案上傳之解析漏洞編輯器安全
- PHP ftp上傳檔案PHPFTP
- 上傳檔案專題
- 上傳檔案至GitHubGithub
- 使用fileinput上傳檔案
- WebAPI Angularjs 上傳檔案WebAPIAngularJS
- 檔案上傳測試
- HTTP檔案上傳原理HTTP