Multer是Node.js中用于處理文件上傳的中間件。它可以幫助你處理文件上傳的相關(guān)邏輯,如接收和保存上傳的文件、限制文件大小、設(shè)置文件類型限制等。只能用于處理 multipart/form-data
類型的表單數(shù)據(jù),它主要用于上傳文件。
下面是使用Multer中間件的基本步驟:
-
安裝multer:在命令行中運(yùn)行
npm install multer
來安裝multer模塊。 -
導(dǎo)入multer模塊和創(chuàng)建multer實(shí)例:在你的Node.js應(yīng)用程序中,使用
require
語句導(dǎo)入multer模塊,并創(chuàng)建一個multer實(shí)例。
const multer = require('multer');
const upload = multer({ dest: 'uploads/' });
上述代碼中,我們使用multer
的dest
屬性指定上傳文件的保存目錄。
- 創(chuàng)建路由處理程序:在你的路由處理程序中,使用
upload
中間件來處理文件上傳請求。
app.post('/upload', upload.single('file'), (req, res) => {
// 文件上傳成功后的操作
});
上述代碼中,我們使用upload
中間件的single
方法指定只處理單個文件上傳請求。'file'
參數(shù)是表單中文件輸入字段的name屬性值。
- 處理上傳成功的文件:在文件上傳成功后的處理程序中,可以通過
req.file
對象獲取上傳的文件信息。
Multer 會添加一個
body
對象 以及file
或files
對象 到 express 的request
對象中。body
對象包含表單的文本域信息,file
或files
對象包含對象表單上傳的文件信息。
app.post('/upload', upload.single('file'), (req, res) => {
if (req.file) {
// 文件上傳成功
console.log('File uploaded:', req.file);
} else {
// 沒有文件上傳
console.log('No file uploaded');
}
});
上述代碼中,req.file
對象將包含上傳文件的詳細(xì)信息,如文件名、文件大小、文件路徑等。文章來源:http://www.zghlxwxcb.cn/news/detail-723040.html
Multer還提供了其他一些常用方法和選項,例如array
方法可以處理多個文件上傳請求,fields
方法可以處理不同字段名的文件上傳請求,limits
選項可以設(shè)置文件大小限制等。文章來源地址http://www.zghlxwxcb.cn/news/detail-723040.html
// 前端
const params = new FormData()
params.append('avatar', avatar.files[0])
params.append('username', username.value)
const config = {
headers: {
"Content-Type":"multipart/form-data"
}
}
http.post('/api/upload', params, config).then(res => {
this.imgpath = 'http://localhost:3000' + res.data
})
到了這里,關(guān)于【Express】文件上傳管理 multer 中間件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!