Zum Inhalt springen

Dateiupload mit der AppEngine

2008 Juli 17

In CGI-Programmen muss man, wenn man einen Dateiupload anbieten möchte, oft mit temporären Dateien jonglieren. Nun hat man in dieser verteilten Umgebung gar kein Schreibzugriff auf ein Dateisystem im klassischen Sinne. Zunächst habe ich eine Weile in der Dokumentation gesucht, um zu finden, wie es mit der AppEngine geht. Erst in einem Beispiel zur Bildbearbeitung bin ich dann fündig geworden.
Es ist schlicht zu einfach. Hat man ein HTML-Eingabefeld zum Upload mit Namen “uploadfile”, dann greift man auf die hochgeladenen Daten einfach so zu:

filecontent = self.request.get('uploadfile')

Der Dateiinhalt befindet sich danach in der Variable “filecontent”. Wenn es eine Textdatei ist, kann ich den Inhalt einfach wie einen String verarbeiten.
Für viele Anwendungsfälle ist das sehr bequem und ist völlig ausreichend. Interessant wäre noch zu wissen:

  • Wie kommt man an den ursprünglichen Dateinamen ran?
  • Kann man möglichst früh die Verarbeitung verweigern, wenn die Datei zu groß ist?
Noch keine Kommentare

Hinterlassen Sie eine Antwort

Hinweis:Sie können einfaches XHTML verwenden. Ihre E-Mail wird nicht veröffentlicht.

Abbonnnieren Sie zu diesen Kommentar mit RSS

Switch to our mobile site