15

我计划将图像存储在 Amazon S3 上,如何从 Amazon S3 中检索:

  • 文件大小
  • 图像高度
  • 图像宽度?
4

3 回答 3

33

您可以在上传图像时将图像尺寸存储在用户定义的元数据中,然后使用 REST API 读取此数据。

有关用户定义的元数据的更多信息,请参阅此页面:http: //docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html

于 2013-11-27T15:58:52.603 回答
14

通过读取对文件的简单请求的Content-Length响应标头,可以获取文件大小。HEAD也许您的客户可以帮助您完成此查询。有关S3 API 文档的更多信息。

Amazon S3 只是为您提供存储,(几乎)仅此而已。无法通过 API 访问图像尺寸。您必须获取整个文件,并自己计算其尺寸。如果适用,我建议您在将文件上传到 S3 时将此信息存储在数据库中。

于 2012-05-27T09:32:42.643 回答
-1

在 Node 上,使用image-sizenode-fetch非常容易。

async function getSize(imageUrl) {
  const response = await fetch(imageUrl);
  const buffer = await response.buffer();
  return imageSize(buffer);
}
于 2019-09-24T02:29:17.453 回答