【发布时间】:2012-06-02 03:06:52
【问题描述】:
我打算将图像存储在 Amazon S3 上,如何从 Amazon S3 中检索:
- 文件大小
- 图像高度
- 图像宽度?
【问题讨论】:
标签: image amazon-s3 information-retrieval
我打算将图像存储在 Amazon S3 上,如何从 Amazon S3 中检索:
【问题讨论】:
标签: image amazon-s3 information-retrieval
您可以在上传图像时将图像尺寸存储在用户定义的元数据中,然后使用 REST API 读取这些数据。
有关用户定义元数据的更多信息,请参阅此页面:http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html
【讨论】:
可以通过将Content-Length 响应标头读取到对您的文件的简单HEAD 请求来获取文件大小。也许您的客户可以帮助您完成此查询。更多信息请关注S3 API docs。
Amazon S3 只是为您提供存储,(几乎)仅此而已。无法通过 API 访问图像尺寸。您必须获取整个文件,并自己计算其尺寸。如果适用,我建议您在将文件上传到 S3 时将此信息存储在数据库中。
【讨论】:
在 Node 上,使用 image-size 和 node-fetch 可以非常简单。
async function getSize(imageUrl) {
const response = await fetch(imageUrl);
const buffer = await response.buffer();
return imageSize(buffer);
}
【讨论】: