Ich habe gelernt, dass es am besten ist, Dateien in Ihrem privaten Ordner hochzuladen, wenn Sie sie nicht draußen anzeigen. In meinem Fall muss ich XML-Uploads speichern und verarbeiten. Zuerst schrieb ich die XML in den öffentlichen Ordner, aber das würde ein Neuladen auslösen. Dann habe ich den Upload-Ordner in /public/.#uploads umbenannt, was das erneute Laden von Meteor stoppen würde, aber dann wieder ... es ignorierte diesen Ordner komplett während des Builds und der hochgeladene Ordner würde nicht im Build existieren (ENOENT-Fehler werfen) während des Lesens).
So habe ich herausgefunden es am besten ist, die Dateien in/private/Dateien zu setzen und geht dann wie folgt lautet:
result = fs.readdirSync('assets/app/files')
Alles im privaten Ordner wird dem Assets-Ordner verschoben werden, wo während Zur Laufzeit steht ein APP-Ordner zur Verfügung (das sehen Sie in Ihrer Build-Ordnerstruktur nicht).
Es hilft einfach nur dump result = fs.readdirSync('.')
zu sehen, in welchem Ordner Sie und durch die Struktur zu sehen.
*** UPDATE ***** Lokale Dateien in private
Ordner noch ausgelöst Meteor Rebuild/Update (vielleicht nicht in der Produktion ..), So fand ich eine andere Lösung, die die UploadServer nur das Upload-Verzeichnis zu definieren, mit: https://github.com/tomitrescak/meteor-uploads
Sie verwenden einen absoluten Pfad ''/''. Versuchen Sie es mit einem relativen "./Public/soundfiles /" oder "public/soundfiles /" –
Versuchte alle relativen Pfade - aus irgendeinem Grund beginnt fs aus meinem Paketverzeichnis zu lesen. Zum Beispiel, wenn ich "." Übergebe und ich "Dateien" ausspreche, bekomme ich alle Dateien in meinem Paketverzeichnis? – Warz