【问题标题】:Image doesn't download fully with aiohttp使用 aiohttp 无法完全下载图像
【发布时间】:2019-10-27 18:37:41
【问题描述】:

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

【问题讨论】:

    标签: python asynchronous async-await aiohttp web-scripting


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢!我尝试使用它,因此大于 256 kB 的文件大小将无法通过以后的验证检查。
    猜你喜欢
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 2012-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多