我知道这很可能是不可能的,但我也愿意接受其他建议。
这里的问题很简单,我有一个后端API,它接收包含非常大图像的URL列表,然后将这些URL下载,调整大小,压缩并发送回去。
所有调整大小的图像都允许有最大大小,问题是我仅在计算客户端大小,因此,如果有人恶意发送非常大的图像,则可能会超载服务器内存,因为所有逻辑都是在内部处理的-记忆。
我是否可以验证该服务器端?从包含没有特定图案/尺寸的图像的URL列表中,我想知道调整大小后的图像总大小是否会超过一定限制
我知道通过查看content-lenght标头可以知道图像的大小,但是不确定在调整大小后是否可以估计/计算大小,特别是不知道尺寸。
我正在标记python和PIL,因为它们是我正在使用的工具,但是我不确定这里是否需要任何代码,这主要是一个概念性问题。
答案 0 :(得分:1)
estimated_size = requested_width * requested_height * bytes_per_pixel
。如果估计的大小超出限制,则拒绝该请求。当然,估计值可能相对不准确,因此您可能要通过引入某种误差容限来解决这个问题。