#2070: Large streaming uploads
----------------------------------------+-----------------------------------
Reporter: [EMAIL PROTECTED] | Owner: jacob
Status: assigned | Component: Core framework
Version: SVN | Resolution:
Keywords: streaming, upload, large | Stage: Accepted
Has_patch: 1 | Needs_docs: 0
Needs_tests: 0 | Needs_better_patch: 1
----------------------------------------+-----------------------------------
Comment (by Michael Axiak <[EMAIL PROTECTED]>):
A list of changes in this new version:
* I removed the file_progress descriptor handling and middleware -- if
you need to track file progress, you can use {{{process_request}}} to
achieve what you need.
* I cleaned up a lot of things, removed many catch-all {{{excepts}}} and
replaced with {{{except OSError}}} etc.
* Included cross-platform locking for saving/moving files manually
(django/utils/file_locks.py)
* Made {{{move_file_safe(src,dest)}}} to care if a file already exists
and throw an error if one does by default.
* Moved stuff out of {{{http/__init__.py}}} into various locations.
* In reply to !SmileyChris' comment earlier, no longer uses
{{{self._progress_file}}} to determine if a file is being tracked. Now
using {{{self._track_progress}}} (a boolean)
* {{{save_field_file}}} can now optionally not take a filename (if
{{{filename = None}}}). To avoid confusion, there is an additional
function, {{{instance.move_field_file}}} which takes one parameter: the
{{{request.FILES}}} value. Code examples should use {{{move_field_file}}}
to distinguish this new functionality.
* Stay tuned for updates to #4165 to reflect these and other changes!
Example of new {{{move_video_file}}} Model instance function:
{{{
#!python
#from this
foo.save_video_file(request.FILES['video']['filename'],
request.FILES['video'])
#to this
foo.move_video_file(request.FILES['video'])
}}}
--
Ticket URL: <http://code.djangoproject.com/ticket/2070#comment:146>
Django Code <http://code.djangoproject.com/>
The web framework for perfectionists with deadlines
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---