Merge pull request #124 from eatmoreapple/message-file-handler

添加文件存储机制
This commit is contained in:
多吃点苹果 2022-11-12 23:39:34 +08:00 committed by GitHub
commit 1cab9bf5a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,6 +7,7 @@ import (
"errors"
"fmt"
"html"
"io"
"net/http"
"os"
"strconv"
@ -311,6 +312,27 @@ func (m *Message) GetMedia() (*http.Response, error) {
return m.Bot.Caller.Client.WebWxGetMedia(m, m.Bot.Storage.LoginInfo)
}
// SaveFile 保存文件到指定的 io.Writer
func (m *Message) SaveFile(writer io.Writer) error {
resp, err := m.GetFile()
if err != nil {
return err
}
defer func() { _ = resp.Body.Close() }()
_, err = io.Copy(writer, resp.Body)
return err
}
// SaveFileToLocal 保存文件到本地
func (m *Message) SaveFileToLocal(filename string) error {
file, err := os.Create(filename)
if err != nil {
return err
}
defer func() { _ = file.Close() }()
return m.SaveFile(file)
}
// Card 获取card类型
func (m *Message) Card() (*Card, error) {
if !m.IsCard() {