我正在尝试使用multer上传文件,但不要将multer用作中间件,如果我将其用作中间件,它的效果很好,但为了进行验证,我不得不以其他方式使用它,所以我使用以下代码:
upload(req,res, (err)=>{
if(err) throw err;
req.files.forEach((file)=>{
imgarray.push(imgStorageBaseURL + '/' + req.userId + '/' + file.filename)
})
})
但这给了我错误
JSON位置0出现意外令牌
我不知道出什么问题了,因为这是我第一次以这种方式使用multer。 顺便说一下,这是我的multer配置:
const storage = multer.diskStorage({
destination: (req, file, callback) => {
const userPath = path.join(imgStoragePath, req.userId);
fs.mkdir(
userPath,
() => callback(null, userPath)
)
},
filename: (req, file, callback) => {
const filenameParts = file.originalname.split('.');
const ext = filenameParts.pop();
const basename = filenameParts.join('.');
const additionalPath = Date.now() + '' + uuid() + '' + Math.floor(Math.random() * (2000 - 500)) + 500;
callback(null, basename + '-' + additionalPath + '.' + ext);
},
})
const upload = multer({
storage,
limits: '1mb',
}).array('image')
谢谢!