1

我正在使用以下内容获取图像,但它没有正确下载,并且只看到图像的一小部分。文件大小小于 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
4

1 回答 1

3

文档read(n)读取最多 n字节但可能返回更少。您必须在循环中调用它,直到它返回一个指示 EOF 的空字符串。

如果您不想实现该循环(仅当您有自己的缓冲或流系统时才有用),只需调用read()不带大小参数即可一次性接收所有数据。

于 2019-10-27T10:37:41.347 回答