2015-12-13 17 views
7

Ho ottenuto un REST-API funzionante costruito con node.js ed Express.Usa multer per il caricamento di file all'interno di un router Express

Ora ho bisogno di un endpoint per il caricamento dei file, che accetta i file caricati e li elabora.

Sto utilizzando un router Express e alcuni middleware di autenticazione.

server.js (estratto)

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

Come posso usare Multer per servire il file caricato come req.file (o giù di lì), ma solo in /api/upload e per utenti autorizzati?

risposta

9

Ok, ho capito.

posso usare

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

Per me, è anche lavorato.

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

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