【发布时间】:2015-12-17 05:45:44
【问题描述】:
我尝试使用教程中指定的 multer。然后意识到它现在不像以前那样工作了。所以我查看了 multer 的 github 页面并按照文档进行操作。但是,我的图片虽然上传了,但文件名并没有存储在数据库中。
这是我的代码:
var express = require('express');
var router = express.Router();
var multer = require('multer');
var upload = multer({dest: './public/images/uploads/'});
router.post('/add', upload.single('mainimage'), function(req, res, next) {
//get form values
var title = req.body.title;
var category = req.body.category;
var body = req.body.body;
var author = req.body.author;
var date = new Date();
var mainImageName;
if(req.files && req.files.mainimage){
var mainImageNameOriginalName = req.files.mainimage.originalname;
mainImageName = req.files.mainimage.name;
var mainImageMime = req.files.mainimage.mimetype;
var mainImagePath = req.files.mainimage.path;
var mainImageExtension = req.files.mainimage.extension;
var mainImageSize = req.files.mainimage.size;
}else{
mainImageName = 'noimage.png';
}
// db insertion and yadi yadi yada
});
module.exports = router;
虽然图像正在上传,但被存储的图像文件名是noimage.png。我在顶部定义了mainImageName 以避免提升
【问题讨论】: