py3 base64图片转二进制上传?
POST接口数据:
image1和image2的图片使用form-data进行上传
二进制数据是通过new Blob生成的二进制(原始数据e是完整的Base64图片)
function u(e) { for (var t = atob(e.split(",")[1]), n = new ArrayBuffer(t.length), i = new Uint8Array(n), r = 0; r < t.length; r++)
i[r] = t.charCodeAt(r);
return new Blob([n],{
type: "image/jpeg"
})
}
尝试过:
1.使用py原生库base64.decode和decodebytes转为二进制数据进行requests的files参数上传,不符合预期效果。
decodebytes:
decode:
2.使用execjs调用原始js代码,但是返回的是字典,怎么转为二进制数据进行上传呢?
在Py3中怎么生成这个二进制数据通过requests上传呢??非常感谢
回答:
使用 BytesIO
import requestsfrom io import BytesIO
data: bytes = b'nihao'
response = requests.post(
url='xxxxxx',
files={
'file': ('xxxxxxxx', BytesIO(data))
}
)
具体参考:
https://docs.python.org/zh-cn...
python 如何使用 requests 把字符串按照文件上传?
以上是 py3 base64图片转二进制上传? 的全部内容, 来源链接: utcz.com/p/938302.html