预计大小的图像将只有网址不调整下载后

问题描述 投票:-1回答:1

我的理解是最有可能不可能的,但我也接受其他的建议。

这里的问题很简单,我有这个后端API接收的URL包含非常大的图像,然后下载,调整大小,压缩并发送回一个列表。

有允许所有缩放后的图像togheter的最大尺寸,问题是我只计算大小的客户端,因此,如果有人恶意发送非常大的图像它可能会超载服务器内存为所有逻辑都在内存中处理。

有我的方式来验证这个服务器端?从不含特定的模式/大小我想知道的图像的URL列表,如果他们调整他们后总规模将通过一定的限度

我知道它可以通过查看Content-Length头知道图像大小,但不能确定调整后,如果我能估计/计算尺寸,尤其是不知道的尺寸。

我标记蟒蛇和PIL,因为这些是我使用的工具,但我不知道任何代码需要在这里,它主要是一个概念上的问题。

python python-3.x python-imaging-library image-manipulation conceptual
1个回答
1
投票
  1. 拒绝请求如果没有“内容长度”字段,或者其值超过极限。
  2. 否则,下载图像,并试图将其转换为图像PIL。如果失败,拒绝该请求。
  3. 检查多少字节有图像的一个像素,平均。然后估计的文件大小调整后:estimated_size = requested_width * requested_height * bytes_per_pixel。如果估计的大小超过限制,则拒绝该请求。当然,估计可能是相对不准确,所以你可能想通过引入某种误差的考虑到这一点。
  4. 调整图像的大小,将其保存到存储器,转到(1)
  5. 路径的缩放后的图像,并将它们发送
© www.soinside.com 2019 - 2024. All rights reserved.