我的路由器有多项设置-
const express = require('express');
const path = require('path');
const multer = require('multer');
const config = require('config');
const router = express();
const storage = multer.diskStorage({
destination(req, file, cb) {
cb(null, 'picture_db');
},
filename(req, file, cb) {
cb(null, Date.now() + path.extname(file.originalname));
}
});
const upload = multer({
storage,
limits: {
fileSize: 2 * 1024 * 1024
},
fileFilter(req, file, cb) {
const ext = path.extname(file.originalname);
if (ext !== '.jpg' && ext !== '.jpeg' && ext !== '.png') {
const err = new Error('Extention');
err.code = 'EXTENTION';
return cb(err);
}
cb(null, true);
}
}).single('file')
router.post('/image',
async(req, res) => {
try {
let status;
upload(req, res, err => {
let error = '';
if (err) {
if (err.code === 'LIMIT_FILE_SIZE') {
error = 'file size';
}
if (err.code === 'EXTENTION') {
error = 'file extention';
}
status = error;
}
});
return res.status(200).json({
msg: status || 'OK',
});
} catch (err) {
return res.status(500).json({
msg: "a"
});
}
}
);
module.exports = router;和项目根目录下的文件夹- picture_db。
我还有一个邮递员的问题-

为什么图片不能保存在picture_db中
发布于 2021-02-03 22:24:07
我认为你所做的是错误的。上载文件时,您没有命名文件的键。
相反,您应该将postman中的密钥添加到' file‘中,并上传文件并运行它。

https://stackoverflow.com/questions/66026258
复制相似问题