2015-06-08 29 views
10

Sto appena iniziando con la meteora.come configurare correttamente meteor per funzionare con il modulo di caricamento del file del nodo 'multer'

ho trovato, e aggiunto il pacchetto 'Multer':

meteor add pfafman:multer 

Ora, mi chiedo come configurare il lato server di meteoriti da usare.

Nel mio semplice nodo di applicazione, lo uso come questo:

app.use(multer({ dest: './uploads/', 
     rename: function (fieldname, filename) { 
      return filename+Date.now(); 
     }, 
     onFileUploadStart: function (file) { 
      console.log(file.originalname + ' is starting ...'); 
     }, 
     onFileUploadComplete: function (file) { 
      console.log(file.fieldname + ' uploaded to ' + file.path); 
      var fileName = file.name; 
      var done=true; 
     } 
    })); 

Qual è il codice del server equivalente per questo nel Meteor? Multer

risposta

4

di pfafman non è altro che un wrapper multer di NPM (se si passa attraverso its source ti renderesti conto tutto ciò che in realtà non fa altro che

multer = Npm.require('multer'); 

e poi esportarlo come una variabile globale attraverso api.export('multer'); (Lui non includere anche eventuali casi di test, lasciare una demo.)

In espresso, app.use() viene utilizzato per aggiungere "layer" middleware allo stack middleware. Dal momento che ora multer è già una variabile accessibile globale ovunque sul server (dopo aver meteor add pfafman:multer), si può semplicemente utilizzare il modo di fare in veloce chiamando in Meteor.startup:

if (Meteor.isServer) { 
    Meteor.startup(function() { 
    multer({ dest: './uploads/', 
     rename: function (fieldname, filename) { 
      return filename+Date.now(); 
     }, 
     onFileUploadStart: function (file) { 
      console.log(file.originalname + ' is starting ...'); 
     }, 
     onFileUploadComplete: function (file) { 
      console.log(file.fieldname + ' uploaded to ' + file.path); 
      var fileName = file.name; 
      var done=true; 
     } 
    }) 
    }); 
} 

Nota: questo creerebbe il uploads directory in

YourMeteorProject/.meteor/local/build/programs/server/ 
Problemi correlati