是否可以检索存储在Amazon S3上的图像的尺寸?
如果答案是否定的,除了将图像下载到我的服务器上,听起来效率低下,还有其他方法吗?
我正在使用AWS SDK的版本2用于php。
我一直在查看以下代码返回的内容,但似乎没有给出尺寸。
$result = $s3->getObject(array(
'Bucket' => 'BUCKET_NAME',
'Key' => 'KEY_NAME'
));
var_dump($result);
我对SDK2并不100%熟悉。使用1.5,您可以这样做
getimagesize($s3->get_object_url($bucket,$filename));
我认为,只要您可以公开访问图像(或者您必须找到授权URL)
显然,必须启用您的PHP来打开远程文件。
我同意DB缓存。我通过检查MySQL的匹配项来运行每个图像文件名。如果找到一个,它将返回宽度,高度和预制的Sizetag,准备出发。如果找不到图像和大小,它使用getimagesize()返回相同的信息,下次存储的信息。我还以调整大小的方法构建了,如果我想骗一点并在即时拍摄sizetag(而不是文件)大小。
我不知道该信息是否比getImagesize()更快。S3非常快。
由于缺乏响应,我会认为这是不可能的... R3LALLY不想使用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>