Bug when uploading lists of files
|Reported by:||julien||Owned by:||axiak|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
I'm using the jquery plugin MultiFile , which allows to dynamically create file fields in the form and then upload all the files when submitting the form.
It used to work totally fine before #2070 was merged. In my view I could do this:
file_dicts =  for file_input_name in request.FILES: file_dicts += request.FILES.getlist(file_input_name)
However, since #2070's merge, the last file selected with MultiFile is duplicated.
uploaded_files =  for file_input_name in request.FILES: uploaded_files += request.FILES.getlist(file_input_name)
list: [<TemporaryUploadedFile: test1.gif (image/gif)>, <TemporaryUploadedFile: test2.jpg (image/jpeg)>, <TemporaryUploadedFile: test2.jpg (image/jpeg)>]
The duplicate file to have an empty content. The problems happens both with TemporaryUploadedFile and InMemoryUploadedFile.
The MultiFile plugin is used by a lot of people on different platforms and with different web frameworks, and it used to work fine before #2070's merge, so to me this looks like a bug.
My first assumption is that the problem is in django.http.multipartparser.py. The code must enter the loop one time too much in the end somehow.
Change History (4)
comment:1 Changed 7 years ago by axiak
- Cc axiak added
- Component changed from Core framework to HTTP handling
- Has patch set
- Keywords 2070-fix added
- Needs documentation unset
- Needs tests unset
- Owner changed from nobody to axiak
- Patch needs improvement unset
- Status changed from new to assigned
- Triage Stage changed from Unreviewed to Accepted
Changed 7 years ago by axiak
comment:2 Changed 7 years ago by jacob
- Resolution set to fixed
- Status changed from assigned to closed