我有一些图像(jpg,png)上传到了aws s3存储桶。我想从图像(宽度和高度)中提取一些信息(lambda用golang编写)。不用下载图片就能做到吗?
答案 0 :(得分:3)
您可以使用range标头对对象进行部分下载 看到这个答案S3: How to do a partial read / seek without downloading the complete file?
在AWS Go SDK功能(Downloader)DownloadWithContext中,它似乎应该提供范围功能
一旦有了部分文件,就有可能提取尺寸信息,请参见此答案What is the header size of png, jpg/jpeg, bmp, gif and other common graphics format?
答案 1 :(得分:0)
S3 不会为您计算尺寸。您事先计算它们。
您可以使用用户定义的元标记。您可以在发送对象时设置它们,或者在它们存在后更新它们。
对于私有对象,API 必须返回用户定义的元标记。
对于公共对象,您可以在对象的公共 url 中使用传统的 GET 动词或仅使用 http HEAD 动词。
即使是 javascript + ajax 也可以读取这个头信息。