为什么用shutil和requests下载的有些图片有灰条?
Why do some of the images downloaded with shutil and requests have grey bars?
我是 运行 一个定期从网站下载图片并将其上传到 Twitter 的机器人。然而,有时图片底部会出现灰色条,导致上传的图片看起来像 this or this.
这是将图片下载为 'localImage.jpg' 并覆盖之前图片的代码:
image_stream = requests.get('linkToImage', stream=True)
local_image = open('localImage.jpg', 'wb')
image_stream.decode_content = True
shutil.copyfileobj(image_stream.raw, local_image)
整个存储库是 here。
我的问题是,是什么导致上传的图片底部出现灰色框?
虽然我无法弄清楚为什么图像上会出现灰色框,但我确实在 the answer to this question 中找到了解决方案。
image_stream = requests.get(extracted[2], stream=True)
with open('localImage.jpg', 'wb') as image:
for chunk in image_stream:
image.write(chunk)
我没有使用 shutil 的 copyfileobj
方法,而是使用 .write
方法将流块写入本地图像。这似乎解决了灰色框的问题。
我是 运行 一个定期从网站下载图片并将其上传到 Twitter 的机器人。然而,有时图片底部会出现灰色条,导致上传的图片看起来像 this or this.
这是将图片下载为 'localImage.jpg' 并覆盖之前图片的代码:
image_stream = requests.get('linkToImage', stream=True)
local_image = open('localImage.jpg', 'wb')
image_stream.decode_content = True
shutil.copyfileobj(image_stream.raw, local_image)
整个存储库是 here。
我的问题是,是什么导致上传的图片底部出现灰色框?
虽然我无法弄清楚为什么图像上会出现灰色框,但我确实在 the answer to this question 中找到了解决方案。
image_stream = requests.get(extracted[2], stream=True)
with open('localImage.jpg', 'wb') as image:
for chunk in image_stream:
image.write(chunk)
我没有使用 shutil 的 copyfileobj
方法,而是使用 .write
方法将流块写入本地图像。这似乎解决了灰色框的问题。