我正在使用以下内容获取图像,但是下载不正确,只能看到图像的一小部分。文件大小小于256 kB。怎么了,我该如何解决?
async with aiohttp.ClientSession() as session:
async with session.get(url, timeout = 20) as response:
if response.status == 200:
image = await response.content.read(262144) # 256 kiB
else:
print("Check your URL!")
return
答案 0 :(得分:2)
documentation说read(n)
读取最多 n
个字节,但返回的字节可能更少。您必须循环调用它,直到它返回指示EOF的空字符串。
如果您不想实现该循环(仅在您拥有自己的某些缓冲或流式系统时才有用),只需调用read()
而无需使用size参数即可一次性接收所有数据。 / p>