使用 multer 随机上传文件 & node.js api
Random file upload with multer & node.js api
用于上传任意名称或任意数量的图片。
目前我正在我的项目中使用 multer 处理文件上传。
当我知道字段名称时,我可以处理多个文件上传。我将每个文件的路径存储在 MongoDB 中,并且 mongoose.Below 我与 know field-name 分享了知识,例如 image & images
在路由器中:
uploadImages.fields([
{ name: 'image', maxCount: 1 },
{ name: 'images', maxCount: 8 }
])
现在的问题是我有 随机文件 并且 我不知道所有的字段名称 。就像可以有 10 个字段,每个字段可以有多个文件,
如横幅、滑块、徽标、图像、封面等。
我该如何处理这种情况?当我不知道字段名称和每个字段中的图像数量时
所以答案很简单。我在用咕噜声。 muter 有 any() 字段。
any() :接受通过线路传输的所有文件。文件数组将存储在 req.files
它处理所有带有任何字段名称的文件:
const fileUpload = multer({
storage: multer.diskStorage ({
destination: (req, file, cb)=>{
cb(null, 'uploads/slider')
},
filename : (req, file, cb) =>{
cb(null, file.filename)
}
})
})
module.exports = fileUpload
现在在路由器中:
const upload = require('../middleware/slider')
router.post('/', upload.any(), ......)
upload.any()
获取controller中的所有文件存放数据库中的路径
exports.controller = async (req, res, next)=>{
const files = req.files
console.log(files)
// files will contain an array of file, all the file you uploaded.
//to get the path of each
let sliders = []
if(files){
sliders = files.map(file=>{
return {field_name:file.fieldname , path :file.path }
})
}
console.log(sliders)
}
所以我是如何解决这个问题的。 any() 归档拯救了我的一天。
用于上传任意名称或任意数量的图片。
目前我正在我的项目中使用 multer 处理文件上传。 当我知道字段名称时,我可以处理多个文件上传。我将每个文件的路径存储在 MongoDB 中,并且 mongoose.Below 我与 know field-name 分享了知识,例如 image & images
在路由器中:
uploadImages.fields([
{ name: 'image', maxCount: 1 },
{ name: 'images', maxCount: 8 }
])
现在的问题是我有 随机文件 并且 我不知道所有的字段名称 。就像可以有 10 个字段,每个字段可以有多个文件, 如横幅、滑块、徽标、图像、封面等。 我该如何处理这种情况?当我不知道字段名称和每个字段中的图像数量时
所以答案很简单。我在用咕噜声。 muter 有 any() 字段。
any() :接受通过线路传输的所有文件。文件数组将存储在 req.files
它处理所有带有任何字段名称的文件:
const fileUpload = multer({
storage: multer.diskStorage ({
destination: (req, file, cb)=>{
cb(null, 'uploads/slider')
},
filename : (req, file, cb) =>{
cb(null, file.filename)
}
})
})
module.exports = fileUpload
现在在路由器中:
const upload = require('../middleware/slider')
router.post('/', upload.any(), ......)
upload.any()
获取controller中的所有文件存放数据库中的路径
exports.controller = async (req, res, next)=>{
const files = req.files
console.log(files)
// files will contain an array of file, all the file you uploaded.
//to get the path of each
let sliders = []
if(files){
sliders = files.map(file=>{
return {field_name:file.fieldname , path :file.path }
})
}
console.log(sliders)
}
所以我是如何解决这个问题的。 any() 归档拯救了我的一天。