Articles of multer

多个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', […]

nodejs + multer + angularjs上传而不redirect

我正在使用Nodejs + Multer + angularjs上传服务器上的文件。 我有一个简单的HTML文件: <form action="/multer" method="post" enctype="multipart/form-data"> <input type="file" id="photo" name="photo"/> <button id="Button1">Upload</button> </form> Nodejs部分: var multer = require('multer'); var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, './uploads/') }, filename: function (req, file, cb) { cb(null, file.originalname) } }) app.post('/multer', upload.single('photo'), function (req, res) { res.end("File uploaded."); }); 这工作完美 […]

Nodejs Express 4 Multer | 如果用户没有授权,请停止file upload

我正在使用multer作为express4的多部件中间件。 Expressconfiguration为使用passport作为auth middelware,但是我找不到防止file upload的方法,如果用户没有通过validation。 我想使用onFileUploadStart拒绝文件,但我找不到与“请求”对象的链接,可以匹配用户。 下面的代码用于configurationexpress和multer: <code> … // Multipart file upload app.use(multer( { dest: wwwroot + path.sep + 'uploaded' + path.sep, onFileUploadStart: function (file) { //TODO : apply security check : user auth, file size, number… console.log(file.fieldname + ' is starting …') }, onFileUploadComplete: function (file) { console.log(file.fieldname + ' uploaded to ' + […]

我们可以configurationmulter不在本地存储文件,只能使用req.files.image.path?

我的应用程序需要如下:我将图像上传到Cloudinary并将图像的URL存储在我的mongodb数据库中。 要上传图像到cloudinary,我需要给文件path,为此,我使用multer.I使用声明: app.use(multer({dest:'./uploads/'})); 我面对的问题是,每当我从本地系统上传一个图像到Cloudinary上的数据库时,本地副本就会在'./uploads/'中创build。我想这不会发生,因为我的图像在Cloudinary上。 我读了它的说明文件的multer : Multer接受一个选项对象,其中最基本的是dest属性,它告诉Multer在哪里上传文件。 如果省略选项对象,文件将被重命名并上传到系统的临时目录。 我无法确定,如果临时上传空间需要清理或如果照顾。我的图像上Cloudinary.I使用Muller只为获取: req.files.photo.path 工作。是否还有其他方法可以做到这一点,或者如果可以configuration一个不存储图像到本地系统的方式?

错误:与multer和body-parser无效的json

我目前在node.js应用程序中使用multer来处理multipart/form-data和body-parser 。 我试图使用POSTMAN POST表单数据,但它得到这个错误。 Error: invalid json at parse (/Users/k/Documents/application/node_modules/body-parser/lib/types/json.js:79:15) at /Users/k/Documents/application/node_modules/body-parser/lib/read.js:102:18 at IncomingMessage.onEnd (/Users/k/Documents/application/node_modules/body-parser/node_modules/raw-body/index.js:136:7) at IncomingMessage.g (events.js:199:16) at IncomingMessage.emit (events.js:104:17) at _stream_readable.js:908:16 at process._tickDomainCallback (node.js:381:11) 这就是我在server.js中添加multer和body-parser的方式 var express = require('express'); var mongoose = require('mongoose'); var bodyParser = require('body-parser'); var multer = require('multer'); var app = express(); app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.json()); app.use(multer({ dest: './uploads/'})); 我想这可能是因为耳垂不工作。 当我删除body-parser并再次尝试时,它显示console.log(req.body)和console.log(req.files)空json。 […]

读取node.js中csv文件的内容

我正在尝试在nodejs中实现一个模块( 刚刚开始在nodejs中工作 ),这个模块的要求如下 上传.csv文件。 阅读csv文件的内容。 当前用于restful api的框架是“express”:“〜4.2.0”和multer用于file upload。 现在我已经在我的app.js中configuration了像下面这样的multer app.use(multer({ onFileUploadData : function(file, data){ console.log('onFileUploadData Called with data – '+ data); } })); 在我的路由文件中,我有一个像下面的post端点 app.post('/sample.csv',lead.processCSV); 这条路由从下面的ajax调用被调用 $.ajax({ xhrFields: {withCredentials: true}, url: '/sample.csv', type: 'POST', success: function (data) { $scope.handleResponse(data); }, error: function (error, xhr) { angular.element('#csvUploadBusyIcon').hide(); alert('Oops! Upload failed'); }, data: formData, cache: false, contentType: […]