我计划在Amazon S3上存储如何从Amazon S3检索图像:
1)文件大小 2)图像高度 3)图像宽度?
答案 0 :(得分:24)
您可以在上传图像时将图像尺寸存储在用户定义的元数据中,然后使用REST API读取此数据。
有关用户定义的元数据的更多信息,请参阅此页面:http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html
答案 1 :(得分:10)
通过将Content-Length
响应标头读取到文件的简单HEAD
请求,可以获得文件大小。也许您的客户可以帮助您解决此问题。有关S3 API docs的更多信息。
Amazon S3只为您提供存储空间,(几乎)仅此而已。无法通过API访问图像尺寸。您必须获取整个文件,并自己计算其尺寸。我建议您在将文件上传到S3时将此信息存储在数据库中(如果适用)。
答案 2 :(得分:-1)
在节点上,结合使用image-size和node-fetch可以非常容易。
async function getSize(imageUrl) {
const response = await fetch(imageUrl);
const buffer = await response.buffer();
return imageSize(buffer);
}