Comment puis-je envoyer un fichier de facteur de node.js avec multer

Windows

Express 4.12.4

Multer 1.0.1

Nœud v0.10.22

Je suis en train d'envoyer un fichier à mon node.js serveur à l'aide de facteur.

Je suis d'essayer de suivre le readme ici

Voici ce que j'envoie avec facteur:

POST /ingest HTTP/1.1
Host: localhost:3000
Cache-Control: no-cache
Postman-Token: 69dd2497-2002-56ed-30a4-d662f77dc0b0
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

Voici à quoi il ressemble:
Comment puis-je envoyer un fichier de facteur de node.js avec multer

Voici ce que c'est de frapper sur node.js

var Ingest      = require('../controllers/ingest.js');
var multer      = require('multer');
var upload      = multer({ dest: 'uploads/',fileFilter:function(req,file,cb){
        console.log('file is',file)
        cb(null,true);
    }
});

module.exports = function (app) {
    app.post('/ingest', upload.single('test'), function(req, res, next) {
        console.log(req.body);
        console.log(req.file);
        Ingest.ingestData()
        .then(function (response){
            return res.status(200).json(response);
        });
    });
}

Lorsque j'ai pris cette route, facteur-je obtenir {} pour req.body et undefined pour req.file.

Ce que je fais mal?

Voici où j'initialise le app qui est transmis à la route de fichier:

var express = require('express');
var app = express();
var http = require('http');
var cfg = require('./config')();
var passport = require('passport');
var cors = require('cors');

var bodyParser = require('body-parser');

app.set('port', process.env.PORT || cfg.port);
var corsOptions = {
    origin: "*",
    allowedHeaders: ['Content-Type', 'Authorization', 'Accept', 'x-reset-token', 'x-invite-token', 'x-api-key', 'x-www-form-urlencoded'],
    credentials: true
};
app.use(cors(corsOptions));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(passport.initialize());
http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});

Peut-être quelque chose là-bas est en train de faire?

Edit:

J'ai même essayé de

var Ingest      = require('../controllers/ingest.js');
var multer      = require('multer');
var upload      = multer({ dest: 'uploads/',fileFilter:function(req,file,cb){
        console.log('file is',file)
        cb(null,true);
    }
}).single('csv');

module.exports = function (app) {

    app.post('/ingest', function(req,res){
        upload(req, res, function(err) {
            if(err){
                console.log(err);
            }
            console.log(req.body);
            console.log(req.file);
            Ingest.ingestData()
            .then(function (response){
                return res.status(200).json(response);
            });
        });
    });

}

Et qui n'a pas aidé. Il ne veut pas se connecter quoi que ce soit pour err

Dans la capture d'écran, il vous manque csv clé pour le nom de fichier.
oh, ce que c'était? Poster une réponse et je peux l'accepter

OriginalL'auteur Houseman | 2015-07-30