【发布时间】:2018-12-19 13:13:00
【问题描述】:
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, ' /uploads')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now() + '.jpg' );
}
});
var upload = multer({ storage: storage }).single('image');
app.post('/blog',function (req, res) {
// use upload var
upload(req, res, function (err) {
if (err) {
console.log(err);
return
}
//get image form form
var image = req.files.image;
console.log( req.files);
Blog.create(image, function(err, newlyCreated){
if (err) {
// An error occurred when uploading
console.log(err);
}
res.redirect("/blog");
})
// Everything went fine
});
});
并显示这个结果:
{ image:
{ fieldName: 'image',
originalFilename: 'back-1.jpg',
path: 'C:\\Users\\Lenovo\\AppData\\Local\\Temp\\11964-2kgi7t.18voswcdi.jpg',
headers:
{ 'content-disposition': 'form-data; name="image"; filename="back-1.jpg"',
'content-type': 'image/jpeg' },
ws:
WriteStream {
_writableState: [Object],
writable: false,
domain: null,
_events: [Object],
_eventsCount: 2,
_maxListeners: undefined,
path: 'C:\\Users\\Lenovo\\AppData\\Local\\Temp\\11964-2kgi7t.18voswcdi.jpg',
fd: null,
flags: 'w',
mode: 438,
start: undefined,
autoClose: true,
pos: undefined,
bytesWritten: 148998,
closed: true },
size: 148998,
name: 'back-1.jpg',
type: 'image/jpeg'
}
}
【问题讨论】:
-
有什么问题?
-
图片未上传到存储在上传变量中的定义路径。
标签: node.js file-upload path multer