0

Amazon S3 に保存されている画像の寸法を取得することはできますか?

答えが「いいえ」の場合、画像をサーバーにダウンロードする以外に効率が悪いと思われる方法はありますか?

AWS SDK for PHP のバージョン 2 を使用しています。

次のコードから返されるものを調べてきましたが、ディメンションが表示されないようです。

$result = $s3->getObject(array(
    'Bucket' => 'BUCKET_NAME',
    'Key'    => 'KEY_NAME'
));

var_dump($result);
4

3 に答える 3

0

私は SDK2 に 100% 精通しているわけではありません。1.5でこれを行うことができます

getimagesize($s3->get_object_url($bucket,$filename)); 

画像に公にアクセスできる限り、これはまだ可能だと思います(または、承認されたURLを回避する方法を見つける必要があります)

明らかに、リモート ファイルを開くには、php を有効にする必要があります。

于 2013-01-16T13:58:41.683 に答える
0

私はデータベースキャッシュに同意します。私はすべての画像ファイル名を、mysql をチェックして一致するクラスを介して実行します。見つかった場合は、幅、高さ、および準備が整ったフォーマット済みのサイズタグを返します。画像とサイズが見つからない場合は、getimagesize() を使用して同じ情報を返し、次回のために保存します。また、少しごまかし、その場で比例して sizetag (ファイルではなく) のサイズを変更したい場合に備えて、サイズ変更メソッドも組み込みました。

情報の保存がダウンロード時の getimagesize() より速いかどうかはわかりません。S3はかなり速いです。

于 2013-03-06T15:10:39.980 に答える
-1

応答がないため、それは不可能だと思います... JavaScriptでやりたくなかったのですが、これが私がやった方法です。

<img src="image.jpg" id="image" />

<script>
// This runs after the image has loaded
$('#image').load(function() {
    // Use the below code to get the height and width
    // document.getElementById('image').width
    // document.getElementById('image').height
});
</script>
于 2012-12-20T00:52:29.093 に答える