2015-12-13 10 views
7

Ich habe eine funktionierende REST-API mit node.js und Express erstellt.Multer für Datei-Uploads in einem Express Router verwenden

Jetzt brauche ich einen Datei-Upload-Endpunkt, der hochgeladene Dateien akzeptiert und verarbeitet sie.

Ich verwende einen Express-Router und einige Authentifizierungs-Middleware.

server.js (Auszug)

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 
    }) 

Wie ich multer verwenden können, die hochgeladene Datei als req.file (oder so), dienen aber nur in /api/upload und für autorisierte Benutzer?

Antwort

9

Ok, ich habe es.

I

var multer = require("multer") 
var upload = multer({ dest: "some/path" }) 

[...] 

router.route("/upload") 
    /* replace foo-bar with your form field-name */ 
    .post(upload.single("foo-bar"), function(req, res){ 
     [...] 
    }) 
1

Für mich verwenden können, es funktionierte auch.

var multer = require("multer") 
var upload = multer({ dest: "path" }) 

router.post("/upload", upload.single("foo-bar"), function(req, res) { 
    ... 
} 
Verwandte Themen