0

Ich habe eine RequestHandler, die den Inhalt einer großen statischen Datei als Antwort senden muss. Ich könnte einfach die Datei öffnen und sie auf das response Objekt schreiben, aber das ist ineffizient. Gibt es eine Möglichkeit, die Lieferung an das Google App Engine-Framework zu übergeben, ähnlich wie send_blob?Google App Engine: Wie stelle ich eine statische Datei von einem RequestHandler bereit?

Ich könnte schwören, ich habe eine solche Funktion schon einmal gesehen, kann sie aber nicht mehr in der GAE-Dokumentation finden.

+0

zurückkehren nur den Weg dorthin und lassen Sie die Client-Seite es –

+0

holen @ZigMandel Sie eine Umleitung bedeuten? Dies würde Latenz einführen und auch die URL ändern. Mein Handler ist '/ pets/my-cats' zugeordnet, aber ich versuche zu dienen'/static/fr_FR/mes-chats.html' –

Antwort

0

Vermeiden Sie die Verwendung eines RequestHandler. Konfigurieren Sie stattdessen app.yaml für Serving Static Files. Zum Beispiel dienen favicon.ico:

handlers: 
- url: /favicon\.ico 
    static_files: favicon.ico 
    upload: favicon\.ico 
+0

Leider kann ich das nicht, weil ich etwas Logik ausführen muss um festzustellen, welche statische Datei geliefert wird. –

+0

Gibt es eine Möglichkeit, die Logik clientseitig durchzuführen? Zum Beispiel habe ich eine AngularJS-App, die eine Bild-URL aus den Daten generiert. –

+0

Mein Handler muss die Dateien basierend auf einer Kombination aus "Accept-Language" -Kopfzeile und/oder IP-Adresse des Clients auswählen und Gebietsschema-spezifischen Inhalt bereitstellen. –