您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么用node+multer中間件實現單文件、多文件上傳”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、概念
Multer 是一個 node.js 中間件,用于處理 multipart/form-data 類型的表單數據,它主要用于上傳文件。
注意: Multer 不會處理任何非 multipart/form-data 類型的表單數據。
二、安裝
npm i multer --save
三、使用(頁面底部有單文件、多文件上傳案例)
Multer 會在express 的 request 對象里添加一個 body 對象 (包含表單的文本域信息)以及 file 或 files 對象 (單文件通過req.file獲取,多文件通過req.files獲取,file 或 files 對象包含對象表單上傳的文件信息)。
四、基本使用
//1.引入依賴
const express = require('express')
const multer = require('multer')
//存儲在uploads文件夾下面,沒有會直接創建
const upload = multer({ dest: 'uploads/' })
const app = express()
//相同的
//以下fielname(字符串)必須前端傳過來的myformData對象的屬性名一致,不然后端接收不到這個文件對象 // req.body 將具有文本域數據,如果存在的話
app.post('/profile', upload.single(fielname), function (req, res, next) {
//multer實例.single(fielname)——單文件上傳,文件對象獲取通過req.file
//multer實例.single(fieldame)——接受一個以fielname命名的文件,這個文件的信息保存在req.file中的fielname屬性
// req.body 將具有文本域數據,如果存在的話
})
app.post('/photos/upload', upload.array(fielname, 12), function (req, res, next) {
//multer實例.array(fielname[,maxCount])——接收一個以fielname命名的文件數組;maxCount——限制上傳的最大數量,這些文件的信息保存在req.files里面
})
const cpUpload = upload.fields([{ name:fields[, maxCount: 1 ]}, { name: 'gallery', maxCount: 8 }])
//multer實例.files(fields)——接受指定fields的混合文件,獲取——req.files
//fields應該是一個對象數組,應該具有name和可選的maxCount屬性
app.post('/profile', upload.none(), function (req, res, next) {
//multer實例.none()——只接受文本域
})
“怎么用node+multer中間件實現單文件、多文件上傳”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。