Tag: multer

捕获String并将其存储在mongoDB中

我试图捕获一个文本生成的string(基于客户端/会话),当用户正在上传图像。 输出时做db.collection.find(); 从控制台现在上传时: "_id" : ObjectId("590c67f472667e031fe80a9d"), "path" : "uploads/bicycle.jpg", "originalname" : "bicycle.jpg", "__v" : 0 在这里我想要有"imagelocation" : "N/A"也。 上传图片时,string基于用户的位置。 我想将特定的string值连接到上面显示的图像对象ID。 App.js: /image UPLOAD TO MONGODB var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var path = require('path'); app.use(bodyParser.json()); //To get the access for the functions defined in imagefile.js class var routes = require('./imagefile'); // connect […]

node.js multer将文件名保存到数据库中

我试图将上传的文件名保存到数据库? 谢谢。 基本上我怎样才能将multer file.name传递到数据库中。 我尝试使用这个var: var fileimage = file.name; router.use(multer({ // https://github.com/expressjs/multer dest: './uploads/', limits : { fileSize:100000 }, rename: function (fieldname, filename) { return filename.replace(/\W+/g, '-').toLowerCase(); }, onFileUploadData: function (file, data, req, res) { // file : { fieldname, originalname, name, encoding, mimetype, path, extension, size, truncated, buffer } var params = { Bucket: […]

Node.js和Multer – 在callback函数(req,res)中处理上传文件的目的地

我在Node.js是一个新手,最近我遇到了一个非常简单的问题。 我正在使用一个名为multer的模块,所以用户可以上传图片。 在我的networking应用程序中,所有的用户都有一个唯一的ID,我希望上传的图像被存储在一个根据他们的ID命名的目录中。 例: .public/uploads/3454367856437534 这是我的routes.js文件的一部分: // load multer to handle image uploads var multer = require('multer'); var saveDir = multer({ dest: './public/uploads/' + req.user._id, //error, we can not access this id from here onFileUploadStart: function (file) { return utils.validateImage(file); //validates the image file type } }); module.exports = function(app, passport) { app.post('/', saveDir, function(req, […]

使用Multer将图像上传到Express

我正在尝试将图像上传到Express服务器。 我不完全确定如何做到这一点,但是我从我能从MDN拿到的东西中得到了什么, express , react-dropzone multer react-dropzone和multer文档。 Multer似乎没有从react-dropzone拿起FormData对象,注销req.file它返回undefined。 server.js var storage = multer.diskStorage({ destination: './public/users', filename: function (req, file, cb) { switch (file.mimetype) { case 'image/jpeg': ext = '.jpeg'; break; case 'image/png': ext = '.png'; break; } cb(null, file.originalname + ext); } }); var upload = multer({storage: storage}); app.use(upload.single('photo')); app.post('/uploadUserImage', function (req, res) { console.log(JSON.stringify(req.body.photo)) […]

Node.js TypeError:无法读取未定义的属性“文件”

我只是在学习node.js,并且使用express和multer很难做一个简单的file upload。 这里是表格: 上传图片 在我的configure.js我有: app.use(express.static(path.join(__dirname, 'public'))); app.use(multer({dest:'../public/upload/temp'}).single('file')); 和image.js控制器: create: function(req, res) { var saveImage = function() { console.log(req.body); var possible = 'abcdefghijklmnopqrstuvwxyz0123456789', imgUrl = ''; for(var i=0; i < 6; i+=1) { imgUrl += possible.charAt(Math.floor(Math.random() * possible.length)); } var tempPath = req.files.file.path, //<line 55 error ext = path.extname(req.files.file.name).toLowerCase(), targetPath = path.resolve('./public/upload/' + imgUrl + […]

多个file upload多个文件,但从不同的领域?

我怎样才能让多个文件types的字段接受文件? 我有以下代码,使用node.js中的multer上传单个文件: var storage = multer.diskStorage({ destination: function (req, file, callback) { callback(null, './public/uploads'); }, filename: function (req, file, callback) { callback(null, file.fieldname + '-' + Date.now()); } }); var upload = multer({ storage : storage }); app.post('/rest/upload', upload.array('video', 1), function(req, res, next){ … } 从下面的forms,只有video字段有一个值的条件(如果我指定我得到一个'意外的领域'错误): <form action="/rest/upload" method="post" enctype="multipart/form-data"> <label>Video file: </label> <input type="file" […]

如何在使用多媒体上传时限制文件大小?

我正在用一个简单的file upload系统: var maxSize = 1 * 1000 * 1000; var storage = multer.diskStorage({ destination: function (req, file, callback) { callback(null, 'public/upload'); }, filename: function (req, file, callback) { callback(null, file.originalname); }, onFileUploadStart: function(file, req, res){ if(req.files.file.length > maxSize) { return false; } } }); var upload = multer({ storage : storage}).single('bestand'); router.post('/upload',function(req,res){ upload(req,res,function(err) { […]

NodeJS:'multer'file uploadcallback函数

我正在使用'multer'插件进行file upload。 我想在file upload成功后调用另一个函数。 在这里我的代码: module.exports.uploadFile = upload.single('file', '_id'), function (req, res, next) { console.log('Uploade Successful'); } var upload = multer({ storage: multer.diskStorage({ destination: './Media/ChatDocUpload', filename: function (req, file, cb) { var dest = './Media/ChatDocUpload'; //query string params var _chatMessageID = req.query.chatMessageID; var _ext = file.originalname.substring(file.originalname.indexOf(".")); var _fileName = _chatMessageID + _ext; cb(null, _fileName); } […]

NodeJS Multer没有工作

我试图用NodeJS + ExpressJS + Multer上传文件,但是不能正常工作。 我的ExpressJS版本是4.12.3 这是我的来源 server.js: var express = require('express'), multer = require('multer'); var app = express(); app.use(express.static(__dirname + '/public')); app.use(multer({ dest: './uploads/'})); app.post('/', function(req, res){ console.log(req.body); // form fields console.log(req.files); // form files res.status(204).end() }); app.get('/', function(req, res) { res.sendFile('public/index.html'); }); app.listen(5000, function() { console.log("start 5000"); }); 公共/ index.html的: <!DOCTYPE html> <html> […]

如何使用multer在nodejs中设置不同的目的地?

我正尝试使用Multer包上传任何文件。 当我在我的server.js文件中使用以下代码时,它工作正常。 var express = require('express'), app = express(), multer = require('multer'); app.configure(function () { app.use(multer({ dest: './static/uploads/', rename: function (fieldname, filename) { return filename.replace(/\W+/g, '-').toLowerCase(); } })); app.use(express.static(__dirname + '/static')); }); app.post('/api/upload', function (req, res) { res.send({image: true, file: req.files.userFile.originalname, savedAs: req.files.userFile.name}); }); var server = app.listen(3000, function () { console.log('listening on port %d', […]