В Django как получить двоичные данные поля из формы POST - PullRequest
0 голосов
/ 01 июня 2018

У меня есть один файл HTML, где я использую одну кнопку загрузки изображения.Теперь это изображение хранится в базе данных MySql как Blob.Мне нужно как-то получить или прочитать данные этого изображения в Django через метод post.Может кто-нибудь, пожалуйста, помогите, как это сделать?

Значок определяется как:

icon = models.BinaryField(null=True)

Мой HTML:

 <input type="file" id="toolicon" accept="image/*" data-type='image'  >
<button id="OpenImgUpload" style="margin-left: 100px">Image Upload</button>

В JQuery:

$('#OpenImgUpload').click(function(){ $('#toolicon').trigger('click'); });

Изображение:

Html look

Теперь я хочу получить этот файл в виде данных двоичного поля.До сих пор я использовал:

tool_icon = request.POST('toolicon', '')
tool_icon = request.POST.get('toolicon', '')
tool_icon = base64.b64encode('toolicon', '')

Ничего не работает ... Может кто-нибудь, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 01 июня 2018

Загруженные файлы содержатся в request.FILES с ключом, соответствующим атрибуту name в элементе ввода.

Таким образом, вы должны добавить атрибут name к вашему входу:

<input type="file" name="toolicon" ...

И затем получить доступ к данным, используя request.FILES:

tool_icon = request.FILES.get('toolicon', '')

Запрос должен иметь тип содержимого multipart/form-data, который следует указать в форме:

<form enctype="multipart/form-data" ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...