2011-07-27 3 views
2

Facebookソーシャルグラフを使用してユーザーの画像をプルしようとしています。FBプロフィールのPicは常に「.jpg」として返されますか?

私が(gif、bmp、tiff、またはjpg)として画像をアップロードしても、https://graph.facebook.com/507988137/picture?type=large(私の写真)への電話は常にjpgを返します。

私は彼のイメージが常に "jpg"であることを前提としているかどうか分かりますか?私は画像を取得するためにPHP get_file_contentsを使用しています&は、さまざまな形式のためにそれらをテストすることを嫌うことを好むではありません。

答えて

7

Facebookはアップロードした元の画像を保存しません。代わりに、アップロードされたすべての画像を4つの異なるサイズのjpgに変換して、画像が表示される異なる場所をすべてサポートします。

あなたが興味を持っている場合、Facebookは基本的にこれを科学に基づいていますが、実際には世界で最大の画像ホスティングサービスであることを何度も読んだことがあります。このFacebookのブログ記事の詳細については、Facebook Photos Infrastructure

+0

thx covati!リンクの怪しいディテール。 – rICh

+0

お手伝いをしてうれしい!そしてあなたが以下に述べるように、あなたはほとんどのタイプの画像と非常に大きな画像をアップロードすることができますが、すべてをjpgに変換します。また、GIFやPNGの透明フィルムはjpg形式のベースカラー(黒色であることが多い)に変換されるので注意してください。 – covati

+0

btw、あなたの質問に答えた場合はこれを受け入れることができますか? – covati

0

これは、一般的に画像の最も効率的な画像フォーマットであるため、FaceBookはjpgとして保存するからです。 データが期待どおりかどうかを確認することは常に良い考えです。画像の種類を確認するのは簡単です。これは常にWeb形式ですが、基本的にはjpg、png、gifになります.GIFは制限があるためGIFはほとんどありません(GIFは最大256色を含み、通常はpngよりも大きいです。 BMPはウェブフォーマットではないため、ほとんどのブラウザで表示することはできません。あなたはそのURLからBMPを取得しません。

+0

実際に、いくつかの*形式でアップロードできると主張しています。https://developers.facebook.com/docs/reference/rest/photos .upload /。私はGIF JPG PNG TIFF BMPをアップロードできるという試行錯誤を確認しました。 – rICh

+1

はい、いくつかの形式でアップロードできますが、サイトに表示できるようにjpgに変換します。どのファイルもHTTP経由で転送できますが、選択したフォーマットのセットだけをブラウザに表示することができます。 – GolezTrol

0

gifが返されるケースも必ず処理してください。 これはプロフィール画像を更新しないユーザーのデフォルトのプロフィール写真です

関連する問題