Как предотвратить сжатие JPEG при загрузке изображения через Picasa API? - PullRequest
1 голос
/ 20 января 2010

Я использую клиентскую библиотеку 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')

1 Ответ

3 голосов
/ 23 января 2010

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

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

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

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

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

...