<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>meier-online &#187; Dateiupload</title>
	<atom:link href="http://meier-online.com/tag/dateiupload/feed/" rel="self" type="application/rss+xml" />
	<link>http://meier-online.com</link>
	<description>Der Blog von Karsten Meier</description>
	<lastBuildDate>Thu, 19 Aug 2010 23:37:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dateiupload mit der AppEngine</title>
		<link>http://meier-online.com/2008/07/dateiupload-mit-der-appengine/</link>
		<comments>http://meier-online.com/2008/07/dateiupload-mit-der-appengine/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 15:26:00 +0000</pubDate>
		<dc:creator>meier</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[AppEngine]]></category>
		<category><![CDATA[Dateiupload]]></category>
		<category><![CDATA[file upload]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://meier-online.com/blog/?p=166</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.<span id="more-166"></span><br />
Es ist schlicht zu einfach. Hat man ein HTML-Eingabefeld zum Upload mit Namen &#8220;uploadfile&#8221;, dann greift man auf die hochgeladenen Daten einfach so zu:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">filecontent = <span style="color: #008000;">self</span>.<span style="color: black;">request</span>.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'uploadfile'</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Der Dateiinhalt befindet sich danach in der Variable &#8220;filecontent&#8221;. Wenn es eine Textdatei ist, kann ich den Inhalt einfach wie einen String verarbeiten.<br />
Für viele Anwendungsfälle ist das sehr bequem und ist völlig ausreichend. Interessant wäre noch zu wissen:</p>
<ul>
<li>Wie kommt man an den ursprünglichen Dateinamen ran?</li>
<li>Kann man möglichst früh die Verarbeitung verweigern, wenn die Datei zu groß ist?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://meier-online.com/2008/07/dateiupload-mit-der-appengine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
