Domanda

Ho bisogno di caricare un file in Meteor, eseguire qualche manipolazione dell'immagine su di esso (conversione dell'immagine, se necessario, generare miniature dall'immagine) e quindi archiviarla in un server di archiviazione dell'immagine esterno (S3).Questo dovrebbe essere il più veloce possibile. Hai qualche raccomandazione per una libreria di elaborazione delle immagini Nodejs? Anche come posso caricare un file su Meteorjs?

Grazie

È stato utile?

Soluzione

Ho finito con la seguente soluzione:

1) Route laterale del server Meteor per un URL di upload personalizzato

__meteor_bootstrap__.app.stack.splice (0, 0, {
    route: '/upload',
    handle: function (req,res, next) {
        //handle upload
    }.future ()
});
.

2) Utilizzare il modulo NODEJS formidabile all'interno della funzione per il caricamento del file

Altri suggerimenti

Soluzione più semplice che ho trovato sta usando filepicker.io.È estremamente facile da integrare nella tua app Meteor e collega direttamente in S3.

Nella mia startup (Hausor.com) uso https://github.com/collectionfs/meteor-CollectionFS e con plugin aggiuntivi Supporta il caricamento del file Amazon S3 e il ridimensionamento dell'immagine / il ritaglio dell'immagine.

Non penso che Meteor abbia alcun supporto per caricamenti;Forse qualcosa è previsto in futuro.Nel frattempo, anch'io (supponendo che tu possa leggere il file con un filereader o qualcosa del genere):

a) Inserire il file nel mongo e quindi eliminarlo quando viene salvato in S3

b) Salvalo fino a S3 dal cliente (non sono sicuro se c'è un modo "sicuro" per farlo .. Ie senza dare via le tue credenziali, ma potrebbe valere la pena esplorare).

c) [Se non è possibile utilizzare un filereader] Utilizzare un iframe o qualcosa da pubblicare su un server esterno è possibile controllare che maneggia i caricamenti e quindi comunica con esso dal server Meteor.

Gentilmente controlla una delle mie risposte qui: Carica e download di fileMeteor

Sto usando Busboy per il caricamento dei file e usa solo fs = Npm.require("fs") per scrittura di file: Basta inserire questi insidi di Busboy:, il salvataggio è il percorso in cui hai caricato, semplice negli Stati Uniti Apache o hosting di file e usa un'altra porta su ..

file.pipe(fs.createWriteStream(saveTo))

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top