Frage

Ich muss eine Datei auf Meteor hochladen, einige Bildbearbeitungen daran vornehmen (ggf. Bildkonvertierung, Miniaturansicht aus dem Bild generieren) und sie dann auf einem externen Bildspeicherserver (s3) speichern.Dies sollte so schnell wie möglich gehen.Haben Sie Empfehlungen für eine NodeJS-Bildverarbeitungsbibliothek?Und wie kann ich eine Datei auf meteorjs hochladen?

Danke

War es hilfreich?

Lösung

Ich endete mit der folgenden Lösung:

1) Meteorserverseite Seitenweg für eine benutzerdefinierte Upload-URL

generasacodicetagpre.

2) Verwenden Sie ein formationsfähiges Nodejs-Modul in der Funktion für Datei-Upload

Andere Tipps

Die einfachste Lösung, die ich gefunden habe, ist die Verwendung von filepicker.io.Es ist äußerst einfach, in Ihre Meteor-App zu integrieren und direkt in S3 zu stecken.

in meinem Startup (hausor.com) Ich verwende https://github.com/collectionfs/metor-Collectionfs und mit zusätzlichen Plugins unterstützt er Amazon S3-Datei-Upload und Bild-Skalierung / Zuschneiden.

Ich glaube nicht, dass Meteor keine Unterstützung für Uploads hat;Vielleicht ist etwas in der Zukunft etwas geplant.In der Zwischenzeit würde ich entweder (vorausgesetzt, Sie können die Datei mit einem Felereader oder etwas lesen):

a) Legen Sie die Datei in den MONGO ein und löschen Sie ihn, wenn er auf S3

gespeichert wird

b) Speichern Sie es bis S3 vom Client (nicht sicher, ob es einen "sicheren" Weg gibt, um dies zu tun .. dh ohne Ihre Anmeldeinformationen abzugeben, aber es könnte es wert sein, es zu erkunden).

c) [Wenn Sie einen FileReader nicht verwenden können] Verwenden Sie einen IFRAME oder etwas, um an einem externen Server zu posten, an einem externen Server zu posten, das Sie steuern können, wodurch das Upload von Griff und dann mit dem Meteor-Server kommuniziert wird.

Bitte überprüfen Sie eine meiner Antworten hier: Datei-Upload und -Download mit Meteor

Ich verwende Busboy zum Hochladen von Dateien und verwende es einfach fs = Npm.require("fs") zum Schreiben von Dateien:Fügen Sie diese einfach in „busboy:“ ein. Der Speicherort ist der Pfad, in den Sie hochgeladen haben. Verwenden Sie einfach APACHE oder Datei-Hosting und verwenden Sie einen anderen Port darauf.

file.pipe(fs.createWriteStream(saveTo))

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top