FlickrにアップされているCC画像をユーザーが取得しているときに、画像の取得に失敗するエラーが何度か出ていたので調査したら、結局、Flickrの写真にはOriginalサイズがないものがあるということがバグの原因だった。
ユーザーが画像を検索して取得するときに、ユーザーが大きめの画像を取得するように指定していれば、優先順位として、
1.Largeサイズ
2.Originalサイズ
を、指定していなければMediumサイズを、これまで取得していた。
しかし、Originalサイズが存在しない画像だった場合、最終的に画像パスが設定されずに画像の取得が失敗していた。
そもそも、オリジナルというのだから、そのサイズが存在しないことはないのではと思っていたのだが、それが甘かった。
Flickrのヘルプ「Are there limits on file sizes or file types for uploads?」部分を見ると、以下のように書いてある。
As you publish photos, they're compressed and resized by Flickr (if necessary) in the following sizes:
75x75 pixels
100 pixels (on the longest side)
240 pixels
500 pixels
Large (which will be 1024 pixels if it exceeds that length)
The original size (if you have a pro account)
- 75x75ピクセルサイズ(Squareサイズ)
- 大きい辺に合わせた100ピクセルサイズ(Thumbnailサイズ)
- 大きい辺に合わせた240ピクセルサイズ(Smallサイズ)
- 大きい辺に合わせた500ピクセルサイズ(Mediumサイズ)
- 1024ピクセルに合わせたラージサイズ(Largeサイズ)
- Originalサイズ(proアカウントの場合)
Flickrには上記のサイズがあると書かれているが、最後のOriginalサイズは、proアカウントを持っている場合にしか作られないと明記されている。
加えて、Mediumサイズに「Medium640」という種類がさらに追加されていた。Medium640は、大きい辺に合わせた640ピクセルサイズだ。
よって、大きめの画像を取得するように指定がされていた場合は、
1.Largeサイズ
2.Originalサイズ
3.Meidum640サイズ
4.Mediumサイズ
という優先順位で画像を取得するように変更した。
多くの画像をアットランダムに探してみたが、Mediumサイズが存在しない場合はこれまでなかったので、Mediumサイズが最終防衛線でよいだろう。
ということは、画像によっては、大きめの画像を取得するように指定がされていても、Mediumサイズしか取得できない場合もあるということだ。
0 件のコメント:
コメントを投稿