From 1c885a9182560cf36b11adb267ce08af44265b8c Mon Sep 17 00:00:00 2001 From: ivy1996-encode <15055461510@163.com> Date: Wed, 24 Mar 2021 22:09:23 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3go1.16=E7=A7=BB=E9=99=A4iouti?= =?UTF-8?q?l=E5=8C=85=E7=9A=84=E4=B8=8D=E5=85=BC=E5=AE=B9=E5=BD=B1?= =?UTF-8?q?=E5=93=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client.go | 6 +++--- response.go | 8 ++++++-- user.go | 8 ++++---- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/client.go b/client.go index 08dfac1..4c6db13 100644 --- a/client.go +++ b/client.go @@ -5,7 +5,6 @@ import ( "crypto/md5" "encoding/json" "fmt" - "io/ioutil" "mime/multipart" "net/http" "net/http/cookiejar" @@ -224,10 +223,11 @@ func (c *Client) WebWxUploadMedia(file *os.File, request BaseRequest, info Login if err != nil { return nil, err } - data, err := ioutil.ReadAll(file) - if err != nil { + buffer := bytes.Buffer{} + if _, err := buffer.ReadFrom(file); err != nil { return nil, err } + data := buffer.Bytes() fileMd5 := fmt.Sprintf("%x", md5.Sum(data)) cookies := c.Jar.Cookies(path) uploadMediaRequest := map[string]interface{}{ diff --git a/response.go b/response.go index f90ed78..5138bc4 100644 --- a/response.go +++ b/response.go @@ -1,9 +1,9 @@ package openwechat import ( + "bytes" "encoding/json" "encoding/xml" - "io/ioutil" "net/http" ) @@ -46,5 +46,9 @@ func (r *ReturnResponse) ReadAll() ([]byte, error) { if r.Err() != nil { return nil, r.Err() } - return ioutil.ReadAll(r.Body) + buffer := bytes.Buffer{} + if _, err := buffer.ReadFrom(r.Body); err != nil { + return nil, err + } + return buffer.Bytes(), nil } diff --git a/user.go b/user.go index 03625af..82d3a81 100644 --- a/user.go +++ b/user.go @@ -1,8 +1,8 @@ package openwechat import ( + "bytes" "fmt" - "io/ioutil" "net/http" "os" ) @@ -62,11 +62,11 @@ func (u *User) SaveAvatar(filename string) error { return err } defer resp.Body.Close() - data, err := ioutil.ReadAll(resp.Body) - if err != nil { + buffer := bytes.Buffer{} + if _, err := buffer.ReadFrom(resp.Body); err != nil { return err } - return ioutil.WriteFile(filename, data, os.ModePerm) + return os.WriteFile(filename, buffer.Bytes(), os.ModePerm) } func (u *User) sendMsg(msg *SendMessage) error {