Django,存储在 http POST 中作为字符串接收的 jpg 文件

Django, Store jpg file received as string in http POST

我收到来自桌面应用程序的 http 请求和屏幕截图。我无法与开发人员交谈或查看源代码,所以我只有收到的 http 请求。

文件不在 request.FILES,它在 request.POST。

@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'

最后,我设法触及了另一方面的代码,'filename' 在 header 中丢失了,因此我在 POST 中获取了文件在 FILES 字典中。