Django, Хранить файл jpg, полученный в виде строки в HTTP POST - PullRequest
0 голосов
/ 06 сентября 2018

Я получаю запрос http от настольного приложения со скриншотом. Я не могу поговорить с разработчиком или увидеть исходный код, поэтому все, что у меня есть, это http-запрос, который я получаю.

Файл не в запросе. ФАЙЛЫ, он в запросе. ПОЧТА.

@csrf_exempt
def create_contract_event_handler(request, contract_id, event_type):
    keyboard_events_count = request.POST.get('keyboard_events_count')
    mouse_events_count = request.POST.get('mouse_events_count')
    screenshot_file = request.POST.get('screenshot_file')

    barr2 = bytes(screenshot_file.encode(encoding='utf8'))
    with open('.test/output.jpeg', 'wb') as f:
        f.write(barr2)
        f.close()

Файл поврежден.

Двоичный файл начинается так, я не знаю, помогает ли это:

����JFIFHH��C



%# , #&')*)-0-(0%()(��C



(((((((((((((((((((((((((((((((((((((((((((((((((((��   `"��

Также, если я пытаюсь открыть изображение с помощью PIL, я получаю следующую ошибку:

from PIL import Image
        im = Image.open('./test/output.jpg')
        #OSError: cannot identify image file './test/output.jpg'

1 Ответ

0 голосов
/ 10 сентября 2018

Наконец, мне удалось прикоснуться к коду с другой стороны, в заголовке отсутствовало «имя файла», и по этой причине я получал файл в POST, а не в словаре FILES.

...