Я использую следующий код для извлечения изображений в Интернете:StringIO не может идентифицировать ошибки Изображение файла
import Image
import urllib2
import cStringIO
url = 'http://storage.googleapis.com/bloomsky-img/k65x5Kvpyc3W08jBqJ1kqZqnnZapoQ==.jpg'
img = urllib2.urlopen(url).read()
# error occurred when executing the line below
im = Image.open(cStringIO.StringIO(img))
im.verify()
# must reload the image after verify method !!
im = Image.open(cStringIO.StringIO(img))
im.save('name', 'JPEG')
При запуске она дает мне image not valid and error code is cannot identify image file <StringIO.StringIO instance at 0x7f6825b12e18>
ошибку. Но тот же код работает отлично на моем mac. Только когда я развернул код на сервере Ubuntu, я столкнулся с такой проблемой. Я проверил документацию, и я думаю, что правильно использую StringIO
. Может ли кто-нибудь помочь? Большое спасибо.
Если вы сохранили 'img' в файле -' open ("foo.jpg", "w"). Write (img) '- можете ли вы открыть этот файл с помощью средства просмотра изображений? Или это также коррумпировано? –
@DavidWolever Я использую терминал для управления удаленным сервером, поэтому я не могу проверить, могу ли я открыть его с помощью средства просмотра изображений. Но я попробовал ваш совет, и я могу сохранить его как файл в формате jpg. –
@DavidWolever И правильный URL, я могу открыть его и увидеть изображение в браузере. –