使用 aiohttp 无法完全下载图片
Image doesn't download fully with aiohttp
我正在使用以下方法获取图像,但下载不正确,只能看到图像顶部的一小部分。文件大小小于 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
documentation 表示 read(n)
最多读取 n
字节,但可能 return 更少。您必须循环调用它,直到它 return 是一个表示 EOF 的空字符串。
如果您不想实现该循环(这仅在您有自己的缓冲或流式传输系统时才有用),只需调用 read()
不带大小参数即可一次性接收所有数据.
我正在使用以下方法获取图像,但下载不正确,只能看到图像顶部的一小部分。文件大小小于 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
documentation 表示 read(n)
最多读取 n
字节,但可能 return 更少。您必须循环调用它,直到它 return 是一个表示 EOF 的空字符串。
如果您不想实现该循环(这仅在您有自己的缓冲或流式传输系统时才有用),只需调用 read()
不带大小参数即可一次性接收所有数据.