如何使用 ng-file-upload 在 express js 中保存文件图像
How to save file image in express js using ng-file-upload
我是 nodejs 开发和 express 的新手
我学习 MEAN stack 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;
但我保存的不是图像。我如何保存图像文件?我的意思是一些解码功能或什么?
在控制台中我看到了这个:
{ 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 的集合中。
Smth 喜欢 - 我点击保存图像并将图像保存在文件夹中,响应后我的 ng-model 将是 post.image = response.image,在我将 post 的所有主体保存在集合中之后.. ..
我不知道,在 PHP 中它会在一次请求中 :) 我对 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
});
这段代码帮助我实现了目标。它将存储具有随机名称和扩展名的图像。
我是 nodejs 开发和 express 的新手 我学习 MEAN stack 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;
但我保存的不是图像。我如何保存图像文件?我的意思是一些解码功能或什么?
在控制台中我看到了这个:
{ 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 的集合中。 Smth 喜欢 - 我点击保存图像并将图像保存在文件夹中,响应后我的 ng-model 将是 post.image = response.image,在我将 post 的所有主体保存在集合中之后.. .. 我不知道,在 PHP 中它会在一次请求中 :) 我对 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
});
这段代码帮助我实现了目标。它将存储具有随机名称和扩展名的图像。