On 30 Cze, 03:51, Graham Dumpleton <[EMAIL PROTECTED]> wrote:
> You may have to to ask the author of nginx mod_wsgi whether streaming
> uploads is even possible.
>
> I vaguely remember from discussions, that due to nginx mod_wsgi being
> an event driven system, rather than using a threaded model, that it
> may have to read complete request content into memory or onto disk
> before it even executes the application. If it is into memory, then
> what you are trying to do may not help as far as memory usage.
>
> Graham

i have just consulted this issue with author of mod_wsgi and that
looks a little bit different. nginx does not cache whole the request
body in memory but instead (depending on size) makes use of temporary
file. please take a look at 'client_body_buffer_size' parameter if you
are interested in details.

at last i also managed to get rid of "413 Entity too large" error. it
was enough to increase 'client_max_body_size' parameter in nginx
config.

but i'm still unsure of one thing. while uploading small files i get
in request.FILES instance of InMemoryUploadedFile, for large files
this is TemporaryUploadedFile and that looks correct. Following is
what documentation says about uploaded files handling:

,----[http://code.djangoproject.com/git/?p=django;a=blob_plain;f=docs/
upload_handling.txt;hb=refs/heads/2070-streaming-uploads]
|
| Putting it all together, here's a common way you might handle an
uploaded file::
|
|    def handle_uploaded_file(f):
|        destination = open('some/file/name.txt', 'wb')
|        for chunk in f.chunks():
|            destination.write(chunk)
`----

and that is true for InMemoryUploadedFile as it has a chunks() method.
TemporaryUploadedFile does not have this method, so I cannot use above
snippet to handle both of them, or am i wrong? if so, what is the
'right' way to move uploaded file (no matter if it is InMemory- or
Temporary- uploaded) to defined directory?

thanks,
jm.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to