从Base64字符串获取图像文件大小

Jon*_*Jon 9 python image

我正在开发一个python web服务.它调用另一个Web服务来更改配置文件的图片.

它连接到另一个Web服务.此Web服务只能接受4 MB或更小的图片.

我将把检查放在第一个Web服务中.它使用PIL检查base64字符串是否是有效图像.但是,如何检查base64字符串是否会创建4 MB或更小的图像?

Ign*_*ams 17

将数据长度乘以3/4,因为编码将6个字节转换为8个.如果结果在4MB的几个字节内,那么您需要计算最后的数字=.


Vic*_*tor 6

我正在使用这个:

def size(b64string):
    return (len(b64string) * 3) / 4 - b64string.count('=', -2)
Run Code Online (Sandbox Code Playgroud)

我们删除填充的长度,这是一个或两个字符=,如此处所述.

可能不是最佳的.我没有str.count(char)的效率.另一方面,它仅在长度为2的字符串上执行.