Ich möchte statische Textdateien erstellen, die auf dem Inhalt eines gelieferten Objekts basieren und die dann vom Benutzer heruntergeladen werden können. Hier ist, was ich geplant hatte zu tun:
-
Wenn der Benutzer auf 'exportieren' klickt, ruft die Anwendung eine
Meteor.method()
auf, die wiederum die Datei im öffentlichen Verzeichnis unter Verwendung üblicher Node-Methoden analysiert und schreibt. -
Sobald die Datei erstellt ist, biete ich in der Rückruf-Funktion von
Meteor.method()
einen Link zur generierten Datei an. Zum Beispiel 'public/userId/file.txt'. Der Benutzer kann dann wählen, die Datei über diesen Link herunterzuladen. -
Dann verwende ich Meteors
Connect-Modul
(das es intern verwendet), um Anfragen an die obige URL zur Datei selbst weiterzuleiten. Ich könnte einige Berechtigungsprüfungen basierend auf der Benutzer-ID und dem eingeloggten Zustand des Benutzers durchführen.
Das Problem: Wenn statische Dateien im öffentlichen Verzeichnis generiert werden, lädt sich die Webseite automatisch neu. Ich dachte, es könnte sinnvoller sein, etwas wie Express zu verwenden, um einen REST-Endpunkt zu generieren, der sich mit der Erstellung der Dateien befasst. Aber dann bin ich mir nicht sicher, wie ich mit Berechtigungen umgehen soll, wenn ich keinen Zugriff auf die Meteor-Sitzungsdaten habe.
Ideen für die beste Strategie hier?