<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: fileuploads</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/fileuploads.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2008-07-01T17:00:31+00:00</updated><author><name>Simon Willison</name></author><entry><title>Django File Uploads</title><link href="https://simonwillison.net/2008/Jul/1/uploads/#atom-tag" rel="alternate"/><published>2008-07-01T17:00:31+00:00</published><updated>2008-07-01T17:00:31+00:00</updated><id>https://simonwillison.net/2008/Jul/1/uploads/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.djangoproject.com/documentation/upload_handling/"&gt;Django File Uploads&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Nearly two years in the making, Django’s file upload capacity has received a major (and backwards incompatible) upgrade. Previously, files were uploaded by default in to RAM—now, files larger than 2.5MB are streamed to a temporary file and extensive hooks are provided to customise where they end up—streaming to S3, for example.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://code.djangoproject.com/changeset/7814"&gt;Changeset 7814&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/fileuploads"&gt;fileuploads&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/s3"&gt;s3&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/uploads"&gt;uploads&lt;/a&gt;&lt;/p&gt;



</summary><category term="django"/><category term="fileuploads"/><category term="s3"/><category term="uploads"/></entry></feed>