У меня есть форма со следующим заголовком:
<form enctype="multipart/form-data" target="invisible" action="/calendar/createEvent/" method="POST">
и следующим телом:
<input class="multiFileInput" type="file" name="files" onchange="newInput();">
<input class="multiFileInput" type="file" name="files" onchange="newInput()">
<input class="multiFileInput" type="file" name="files" onchange="newInput()">
Наряду с множеством других входных данных, но загрузка файла важнаодин.
Эта форма отправляется на мой взгляд и делает все правильно, за исключением загрузки файла.
Когда я, в представлении, выполняю "print request.FILES", я получаю:
<MultiValueDict: {u'files': [<TemporaryUploadedFile: boson.mp3 (audio/mpeg)>, <TemporaryUploadedFile: hadron.mp3 (audio/mpeg)>]}>
Но когда я пытаюсь сделать с ними больше, он не позволяет мне использовать их в качестве файлов.
Например, скажем, у меня есть следующие таблицы:
class File(models.Model):
file = models.FileField(upload_to='files')
class Test(models.Model):
name = models.CharField(max_length=10)
files = models.ManyToManyField(File, related_name='files')
Если, на мой взгляд, я говорю:
for f in request.FILES['files']:
test = Test()
test.name='test'
test.save
empt = File()
empt.file = f
empt.save()
test.files.add(empt)
, я получаю следующее исключение:
DjangoUnicodeDecodeError: 'utf8' codec can't decode byte 0xff in position 0: invalid start byte. You passed in '\xff\xfb\xe0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00Info\x00\x00\x00\x0f\x00\x00\x98C\x02m~\t\x00\x03\x05\x08\n'
Кроме того, если я пытаюсь записать в адрес назначения, скажем, используя f.chunks (),Я получаю
AttributeError: 'str' object has no attribute 'chunks'
Любая помощь будет принята с благодарностью.Я застрял на этом некоторое время и хотел бы немного помочь