Articles of 表示多

Express 4 Multer / req.body和res.json未定义

我试图做一个单一的图像文件+文本字段上传使用Express 4.0和multer 1.1.0。 图像文件本身正确上传到正确的目的地,但我得到的文本字段和响应错误: 1)如果login控制台,multer的req.body req.file对象是未定义的 2)res.json(也testing时res.send)得到错误 – TypeError:res.json不是在Object.handle函数) multer的configuration如下,使用moment.js作为date,这几乎是来自multer Github文档的line-for-line: //standard express-generator server.js requires //passport.js implementation var multer = require('multer'); var storage = multer.diskStorage({ destination: function(req, file, cb){ cb(null, './public/photoUploads/' + moment().year() + moment().month()); }, filename: function(req, file, cb){ cb(null, req.user._id + moment().unix()); } }) var upload = multer({storage:storage}); require('./app/routes.js')(app, passport); //passport login routes […]

使用Multer上传文件,而不知道他们的字段名

看完这篇文章后: http : //lollyrock.com/articles/express4-file-upload/ 我已经意识到,当你不知道正在上传的表单字段的名称时,Multer曾经允许file upload。 例如,如果您查看文章的“使用Multer”部分,您会发现在调用app.use()时,作者不会使用.single() .array()或app.use() 。 如果你使用当前版本的Multer,你会得到TypeError: app.use() requires middleware functions错误TypeError: app.use() requires middleware functions 。 虽然我对如何使用.single() .array()或.array()有一个小小的想法,但是我目前的项目需要我发送一个非特定数量的文件到我的服务器(可能是一系列的.png或.log文件)。 因此,我不知道字段名称是什么。 在文章(0.1.6)中使用Multer的版本很容易,但在当前版本的Multer(1.0.3)中尝试使用它时似乎是不可能的,因为您需要指定表单字段名称。 或者,在网上findMulter的完整指南一直是一个挑战,因为最好的一个似乎是GitHub回购的自述,而且似乎缺乏。 也许我正在寻找的答案将在某个地方的指导。 谢谢!

当Multer的文件过大时如何向客户端发送响应

我正在使用NodeJs Multer上传文件。 当文件用户尝试上传时,我需要将响应发送回客户端。 问题是, onFileSizeLimit只有文件作为参数,我不知道如何发送响应客户端。 我需要做的是基本如下所示: app.use('/users/gyms/upload-logo', multer({ // other settings here then: onFileSizeLimit: function (file) { // but res (response) object is not existing here res.json({ message: "Upload failed", status: MARankings.Enums.Status.FILE_TOO_LARGE // status: -6 }); } }); 在那里存在的res对象剂量,我想知道什么是最好的方式发送某种types的响应客户端。

在快速路由器内使用Muller进行file upload

我使用node.js和Express构build了一个可用的REST-API。 现在我需要一个file upload端点,它接受上传的文件并处理它们。 我正在使用Express路由器和一些身份validation中间件。 server.js(节选) var router = express.Router() app.use("/api", router) […] router.use(function(req, res, next) { //Authentification middleware […] next() }) router.route("/upload") .post(function(req, res){ //upload logic }) 我如何使用multer作为req.file (或如此)提供上传的文件,但仅在/ api /上传和authed用户?

使用app.use的configuration器会返回TypeError

我正在尝试在我的app.js文件(使用node.js / express)中configurationmulter以允许用户上传图像。 我在app.js中有以下代码: //various require statements for passport, cookie parser, etc.. var multer = require('multer'); var app = express(); app.use(multer({dest:'./uploads/'})); 当我尝试运行应用程序时,我得到TypeError: app.use() requires middleware functions 我知道这个问题可能需要一些关于我的应用程序的上下文,所以请让我知道是否需要额外的信息。 谢谢 编辑:更多来自app.js的代码: var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var bodyParser = require('body-parser'); var methodOverride = require('method-override'); var session […]

multer – req.file始终未定义

我已经看了很多同样的问题的答案,但我还没有find一个工作的解决scheme。 我试图做一个Web应用程序,您可以上传文件使用快递和MULTER,我有一个问题,没有文件正在上传和REQ.FILE总是未定义。 我的代码如下 'use strict'; var express = require('express'); var path = require('path'); var multer = require('multer') var upload = multer({ dest: 'uploads/' }) var app = express(); require('dotenv').load(); app.use(express.static(path.join(__dirname, 'main'))); app.post('/upload', upload.single('upl'), function (req, res, next) { // req.file is the `avatar` file // req.body will hold the text fields, if there were any […]

使用multer上传文件时,req.files未定义

我正在尝试在Express.js 4中构build一个上传图像的Node.js应用程序。 我决定使用multer模块,但不能通过multer访问上传​​的文件。 这是我正在使用的代码。 我将其限制在那些我认为相关的部分。 玉代码: form(method="POST", action="createPost", enctype="multipart/form-data") input(type="file", name="photo") br input(type="submit" value="upload") 在路线/ admin.js中: var express = require('express'); var multer = require('multer'); var router = express.Router(); var upload = multer({dest: './uploads/'}); router.post('/createPost', upload.single('photo'), function(req, res, next) { console.log('files:', req.files); console.log('body:', req.body); // more code } 输出: files: undefined body: {} 该文件存储在uploads文件夹中,但是我无法访问req.files信息。 谁能帮我?