在 Python 中通过请求发送 PIL 图像

bit*_*ten 5 python python-imaging-library python-requests

我创建了一个 PIL 图像,我想通过请求将它发送到服务器。

我的代码看起来像这样,但我无法让它工作,因为我没有错误。

import requests
from PIL import Image
from io import BytesIO

img = Image.new('RGB', (25, 25), color = (120, 120, 20))
byte_io = BytesIO()
img.save(byte_io, 'png')
byte_io.seek(0)

requests.post(
    url('/media/upload'),
    files={
        'files[]': (
            '1.png',
            byte_io,
            'multipart/form-data'
        )
    },
)
Run Code Online (Sandbox Code Playgroud)

print files给我{'files[]': ('1.png', <_io.BytesIO object at 0x105b69290>, 'multipart/form-data')},它不会出错。

bit*_*ten 9

我成功了:)

我的文件对象需要看起来像:

'files[]': (
    '1.png',
    byte_io,
    'image/png'
)
Run Code Online (Sandbox Code Playgroud)