Я использую django-аватары для обработки аватаров профиля пользователя для моего сайта. В настоящее время я разрабатываю собственное приложение для Android, которое включает в себя возможность загрузки аватаром. Я передаю данные изображения с помощью параметра GET, закодированной в базе 64. На мой взгляд Django, у меня естьЗагрузка файла через base64
data = base64.b64decode(request.POST['data'])
out = open("etc/test.jpeg", "wb")
out.write(data)
out.close()
для декодирования изображения. Это нормально работает (test.jpeg - это файл, который я хочу, чтобы он был), но у меня проблемы с привязкой к django-аватарам.
Глядя через источник Джанго-аватаров, используется для создания нового аватара следующее:
avatar = Avatar(
user = request.user,
primary = True,
)
image_file = request.FILES['avatar']
avatar.avatar.save(image_file.name, image_file)
avatar.save()
Мой вопрос, как я могу конвертировать мои данные файла в нужный формат request.FILES (или самый простой способ переписать метод сохранения, чтобы принять мой формат)
У меня возникли проблемы с созданием объекта файла django. У меня есть http://dpaste.com/743542/, который выдает эту ошибку на странице аватара.avatar.save(): http://dpaste.com/743541/ – numegil
Вам нужно будет указать длину данных к атрибуту 'size' объекта StringIO. –
отлично работает, спасибо! – numegil