2010-05-04 13 views
13

Ich versuche, einen Weg zu finden, wo ich eine Tab-getrennte Datei mit Daten aus benutzerdefinierten Feldern erstellen kann und den Benutzer diese Datei auf Google App-Engine herunterladen können.Google App-Engine Python-Download-Datei

Die Sandbox-Umgebung, in der die App ausgeführt wird, erlaubt der Anwendung nicht, auf die Festplatte zu schreiben. Gibt es eine andere Möglichkeit, eine herunterladbare Datei zu erstellen?

Antwort

27

Sicher gibt es! Sie können Ihre Daten beispielsweise als csv ausgeben. Alles was Sie tun müssen, ist die Content-Type Kopfzeile zu ändern.

Es ist so etwas wie diese:

class Test(webapp.RequestHandler): 
    def get(self, upload_type): 
     self.response.headers['Content-Type'] = 'text/csv' 
     self.response.out.write(','.join(['a', 'cool', 'test'])) 
20

Neben jbochi Antwort, können Sie auch einen Content-Disposition-Header hinzufügen, unter Verwendung eines bestimmten Dateinamen zu speichern.

self.response.headers['Content-Disposition'] = "attachment; filename=fname.csv"