diff --git a/client/highway.go b/client/highway.go index 1eae4f44..949fc5fc 100644 --- a/client/highway.go +++ b/client/highway.go @@ -204,6 +204,7 @@ func (c *QQClient) highwayUploadFileMultiThreadingByBDH(path string, cmdId int32 if err != nil { return nil, errors.Wrap(err, "open file error") } + defer file.Close() if stat.Size() < 1024*1024*3 { return c.highwayUploadByBDH(file, cmdId, ticket, ext, encrypt) } diff --git a/client/image.go b/client/image.go index 563dda3b..28c16a5b 100644 --- a/client/image.go +++ b/client/image.go @@ -64,6 +64,7 @@ func (c *QQClient) UploadGroupImageByFile(groupCode int64, path string) (*messag if err != nil { return nil, err } + defer img.Close() fh, length := utils.ComputeMd5AndLength(img) seq, pkt := c.buildGroupImageStorePacket(groupCode, fh[:], int32(length)) r, err := c.sendAndWait(seq, pkt) @@ -104,6 +105,7 @@ func (c *QQClient) UploadPrivateImage(target int64, img io.ReadSeeker) (*message } func (c *QQClient) uploadPrivateImage(target int64, img io.ReadSeeker, count int) (*message.FriendImageElement, error) { + _, _ = img.Seek(0, io.SeekStart) count++ fh, length := utils.ComputeMd5AndLength(img) _, _ = img.Seek(0, io.SeekStart)