【发布时间】:2020-04-14 22:19:25
【问题描述】:
我有一个在我的 ExpressJS 中使用 Multer 处理文件上传的 API。 这是我的代码:
const storage = multer.diskStorage(
{
destination : path.join(pathStorage + pathIdCard),
filename: function(req, file, cb){
cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname));
}
}
);
const upload = multer({
storage : storage
}).single('image');
router.post('/upload-image', function(req, res){
try {
upload(req, res, err => {
responseUtil.success(res, obj);
});
} catch (e) {
responseUtil.fail(res, 'Upload image failed!')
}
});
上面的代码运行良好,但上面的代码只适用于一个目的地。我想根据名为type 的属性制作目的地。
我只有两种类型: 1.身份证, 2. 自拍。
所以如果类型是身份证,目的地应该是pathStorage + pathIdCard,但如果类型是自拍,那么目的地应该是pathStorage + pathSelfie。
我已尝试从 SO 中的另一个问题中获得答案,但对我没有任何作用。
【问题讨论】:
-
“我已经尝试从 SO 中的另一个问题中获得答案,但对我没有任何帮助。” - 您能否提供有关您尝试了什么以及没有任何效果意味着什么的更多背景信息?否则,有人会来向您推荐相同的解决方案。
-
您可以将函数传递给
destination参数,您可以在其中检查类型。