0

是否可以检索存储在 Amazon S3 上的图像的尺寸?

如果答案是否定的,除了将图像下载到我的服务器听起来效率低下之外,还有其他方法吗?

我正在使用适用于 PHP 的 AWS 开发工具包第 2 版。

我一直在查看以下代码返回的内容,但似乎没有给出尺寸。

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

var_dump($result);
4

3 回答 3

0

我不是 100% 熟悉 SDK2。使用 1.5 你可以做到这一点

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

我认为只要您可以公开访问图像(或者您必须找到授权网址),这仍然是可能的

显然,您的 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 回答