From 2bb28a9845c0cc27708600f328e9f7a5ac96ca80 Mon Sep 17 00:00:00 2001 From: Code <35629387+CodeKirin-dragon@users.noreply.github.com> Date: Fri, 16 Dec 2022 13:54:12 +0800 Subject: [PATCH] fix(s3): use HEAD method to get file info (#1521) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 建议更换成更好的 HeadObject 方法因为 HeadObject 方法并不会返回文件 Body 因此不需要 defer res.Body.Close() --- pkg/filesystem/driver/s3/handler.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkg/filesystem/driver/s3/handler.go b/pkg/filesystem/driver/s3/handler.go index 3f759c1..cc2d1de 100644 --- a/pkg/filesystem/driver/s3/handler.go +++ b/pkg/filesystem/driver/s3/handler.go @@ -398,8 +398,8 @@ func (handler *Driver) Token(ctx context.Context, ttl int64, uploadSession *seri // Meta 获取文件信息 func (handler *Driver) Meta(ctx context.Context, path string) (*MetaData, error) { - res, err := handler.svc.GetObject( - &s3.GetObjectInput{ + res, err := handler.svc.HeadObject( + &s3.HeadObjectInput{ Bucket: &handler.Policy.BucketName, Key: &path, }) @@ -407,7 +407,6 @@ func (handler *Driver) Meta(ctx context.Context, path string) (*MetaData, error) if err != nil { return nil, err } - defer res.Body.Close() return &MetaData{ Size: uint64(*res.ContentLength),