Как предотвратить сжатие JPEG при загрузке изображения через Picasa API?

1

Я использую Python клиентскую библиотеку для API веб-альбомов Picasa для загрузки некоторых изображений JPEG в альбом. Но фотографии появляются очень сжатыми после загрузки. В Picasa 3.6 есть возможность загружать изображения в их оригинальное качество без сжатия, но есть ли подобная опция, которую я могу использовать из API?

Вот некоторые из кода, который я использую для создания фотографии и вставки ее в альбом:

upload_photo = gdata.photos.PhotoEntry()
upload_photo.summary = atom.Summary(text=title)
upload_photo.title = atom.Title(text=file_name)
upload_photo.text = atom.Text(text='Test')
upload_photo.author = atom.Author(atom.Name(text='Test Author'))
upload_photo.timestamp = gdata.photos.Timestamp(text='%i' % 
  int(time.mktime(photo_date.timetuple()) * 1000))
upload_photo.geo = gdata.geo.Where()
upload_photo.geo.Point = gdata.geo.Point()
upload_photo.geo.Point.pos = gdata.geo.Pos(text='%f %f' % (lat, lon))

imgContent = StringIO.StringIO(urlfetch.fetch('http://url.com/image1.jpg').content)

gpclient.InsertPhoto(album_or_uri=album_url, photo=upload_photo,   
  filename_or_handle=imgContent, content_type='image/jpeg')
Теги:
jpeg
picasa
gdata-api

1 ответ

3
Лучший ответ

Мне удалось решить эту проблему самостоятельно, и это оказалось странным: -)

Я спросил в Google Group для API данных Picasa, и люди говорили, что API не делает никакого сжатия при загрузке новых изображений. Это заставило меня посмотреть на другой код, а именно на urlfetch.

Оказалось, что urlfetch получает сжатый JPEG-образ. Но почему? Был ли параметр, который я забыл установить? Я просмотрел документацию и не нашел никаких ограничений.

И вдруг мне стало ясно, что происходит. Я тестировал это на своей локальной машине с помощью SDK Google App Engine, который подключен к Интернету с помощью мобильного широкополосного доступа от T-Mobile. И T-Mobile использует прокси для сжатия изображений при их загрузке. Для моего браузера Firefox я использую расширение для изменения заголовков HTTP, чтобы предотвратить это сжатие во время просмотра, но, конечно, urlfetch не делал этого.

После этого загрузите исходное качество JPEG и загрузите его в Picasa без проблем.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню