81π
β
for f in request.FILES.getlist('file'):
# do something with the file f...
EDIT: I know this was an old answer, but I came across it just now and have edited the answer to actually be correct. It was previously suggesting that you could iterate directly over request.FILES['file']
. To access all items in a MultiValueDict, you use .getlist('file')
. Using just ['file']
will only return the last data value it finds for that key.
π€Justin Voss
12π
Given your url points to envia you could manage multiple files like this:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from django.http import HttpResponseRedirect
def envia(request):
for f in request.FILES.getlist('file'):
handle_uploaded_file(f)
return HttpResponseRedirect('/bulk/')
def handle_uploaded_file(f):
destination = open('/tmp/upload/%s'%f.name, 'wb+')
for chunk in f.chunks():
destination.write(chunk)
destination.close()
π€user191104
- [Django]-Is it possible to generate django models from the database?
- [Django]-Django {% with %} tags within {% if %} {% else %} tags?
- [Django]-Django models without database
1π
I dont think all three files will be under the single request.FILES['file']
object. request.FILES['file']
is likely to have either the 1st file or the last file from that list.
You need to uniquely name the input elements like so:
<input type=file name="file1">
<input type=file name="file2">
<input type=file name="file3">
..for example.
EDIT: Justinβs answer is better!
π€Matt Kocaj
- [Django]-How to require login for Django Generic Views?
- [Django]-How to ignore directories when running Django collectstatic?
- [Django]-How to force application version on AWS Elastic Beanstalk
0π
This code is the example
for f in request.FILES.getlist('myfile[]'):
if request.method == 'POST' and f:
myfile = f
filesystem = FileSystemStorage()
filename = filesystem.save(myfile.name, myfile)
π€Ali Noori
- [Django]-Django class-based views with inline model-form or formset
- [Django]-How to group by AND aggregate with Django
- [Django]-How do I set up a Django website on Amazon EC2 hosting?
Source:stackexchange.com