如何使用ng-file-upload在express js中保存文件图像

我是新的在nodejs发展,并表示我学习平均值栈nad现在我不知道我怎么可以在n这个工作人员在我的路线我有这个代码

var express = require('express'); var router = express.Router(); var multer = require('multer'); var upload = multer({ dest: __dirname + '/public/uploads/' }); router.post('/', upload.single('file'), function(req, res) { console.log(req.file); res.status(200).json({ file: req.file}); }); module.exports = router; 

但我保存不是图像。 我如何保存图像文件? 我的意思是一些解码function或什么?

在控制台我看到这个:

 { fieldname: 'file', originalname: 'my.jpg', encoding: '7bit', mimetype: 'image/jpeg', destination: '/home/path/mean/public/uploads/', filename: '8b6256d4af77641c844480f05806e959', path: '/home/path/mean/public/uploads/8b6256d4af77641c844480f05806e959', size: 19486 } 

谢谢。

所以这个代码适合我。 现在我需要考虑如何在新post的collections中保存图像。 Smth喜欢 – 我点击保存的图像,并保存图像的文件夹和响应后,我的ng模型将post.image = response.image后,我保存收集所有职位的身体….我不知道,在PHP中它将在一个reuqest :)我是非常新的nodejs,这只是为了好玩,而不是工作。 我喜欢JavaScript。 🙂

 var multer = require('multer'); var storage = multer.memoryStorage(); var upload = multer({ storage: storage }); var fs = require('fs'); fs.writeFile('public/uploads/image.jpg', req.file.buffer, 'ascii', function (err) { if (err) throw err; console.log('It\'s saved!'); } ); 
 var multer = require('multer'); var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'public/upload') }, filename: function (req, file, cb) { cb(null, uuid.v4() + path.extname(file.originalname)); } }) var upload = multer({ storage: storage }); 

这段代码帮助我实现了这个目标。 它将存储随机名和扩展名的图像。