我有一个基本的web应用程序,我希望用户能够注册一张图片上传的形式,但如果他们没有图片上传在当前时间我想自动设置一个默认的图像,已经存储在本地的上传文件夹作为noimage.png被调用并存储为用户的配置文件图像。这是我的尝试,但没有工作;
var multer = require('multer');
//var uploads = multer({dest: './uploads/'});
var storage = multer.diskStorage({
destination: function (request, file, callback) {
callback(null, './uploads');
},
filename: function (request, file, callback) {
console.log(file);
callback(null, file.fieldname)
}
});
var upload = multer({ storage: storage });
router.post('/register', upload.single('profileimage'), function(req,res,next){
`if(req.file.profileimage){
console.log('uploading File...');
// File Info
var profileImageOriginalName = req.files.profileimage.originalname;
var profileImageName = req.files.profileimage.name;
var profileImageMime = req.files.profileimage.mimetype;
var profileImagePath = req.files.profileimage.path;
var profileImageExt = req.files.profileimage.extension;
var profileImageSize = req.files.profileimage.size;
} else {
// Set a Default Image
var profileImageName = 'noimage.png';
}
我如何使用multer来处理这个?
当您只有一个文件时,您只使用req.file
,而不是req.file.<fieldname>
。这意味着只使用req.file.originalname
、req.file.mimetype
等访问所有文件信息。