mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-10-26 13:41:08 +03:00
15 lines
791 B
ReStructuredText
15 lines
791 B
ReStructuredText
2.8.0
|
|
=====
|
|
|
|
Open HTTP response objects with Image.open
|
|
------------------------------------------
|
|
|
|
HTTP response objects returned from `urllib2.urlopen(url)` or `requests.get(url, stream=True).raw` are 'file-like' but do not support `.seek()` operations. As a result PIL was unable to open them as images, requiring a wrap in `cStringIO` or `BytesIO`.
|
|
|
|
Now new functionality has been added to `Image.open()` by way of an `.seek(0)` check and catch on exception `AttributeError` or `io.UnsupportedOperation`. If this is caught we attempt to wrap the object using `io.BytesIO` (which will only work on buffer-file-like objects).
|
|
|
|
This allows opening of files using both `urllib2` and `requests`, e.g.::
|
|
|
|
Image.open(urllib2.urlopen(url))
|
|
Image.open(requests.get(url, stream=True).raw)
|