2017-10-04 4 views
0

Ich möchte eine Datei von der Festplatte in meinem Kitura-Server laden, aber es scheint keine direkte Möglichkeit zu geben, eine Datei zu finden. Kann jemand vorschlagen, wie Sie eine Datei finden, die im Server enthalten ist?Wie kann ich eine Ressourcendatei für einen Kitura-Server finden?

Hinweis Ich spreche hier nicht von der Bereitstellung einer statischen Ressource wie einer HTML-Seite. Ich möchte die Datei von der Festplatte auf den Server laden, damit ich mit den Daten arbeiten kann.

Antwort

1

Außerhalb der Verwendung einer anderen Drittanbieter-Bibliothek ist die URL-API in Foundation die beste Lösung beim Laden von Dateien aus dem Dateisystem (NSBundle ist unter Linux nicht vollständig). Leider bedeutet dies, dass Ihre Server-App die Pfade zu Dateien auf dem System kennen muss, was die Portabilität von Code zu einem Albtraum machen kann.

+0

Dank. Ich sehe, dass Kitura diese Wege selbst bildet. Schade, dass sie das nicht öffentlich gemacht haben. Ich denke, ich kann diesen Code einfach selbst wiederherstellen. –

+0

@Drew McCormack Sie können einige Beispiele für gemeinsame Pfade (z. B. zur Auflösung relativer Dateipfade) [hier] (https://github.com/IBM-Swift/Configuration/blob/master/Sources/Configuration/PathUtilities) sehen .schnell). Das Hauptproblem besteht darin, dass Swift Package Manager noch keine Unterstützung für das Packen von Ressourcendateien bietet (d. H. Mit Java können Sie Ressourcendateien im JAR bündeln). Das Endergebnis ist, dass die Swift-Anwendung selbst die Dateien von der Festplatte unter Verwendung von Dateipfaden laden muss, und diese Pfade können sich auf Ihrem Entwicklungssystem (d. H. MacOS) gegenüber Ihrem Laufzeitsystem (d. H. Linux Docker Container) unterscheiden. –

Verwandte Themen