Merge pull request #124 from eatmoreapple/message-file-handler
添加文件存储机制
This commit is contained in:
commit
1cab9bf5a8
22
message.go
22
message.go
@ -7,6 +7,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"html"
|
"html"
|
||||||
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
@ -311,6 +312,27 @@ func (m *Message) GetMedia() (*http.Response, error) {
|
|||||||
return m.Bot.Caller.Client.WebWxGetMedia(m, m.Bot.Storage.LoginInfo)
|
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类型
|
// Card 获取card类型
|
||||||
func (m *Message) Card() (*Card, error) {
|
func (m *Message) Card() (*Card, error) {
|
||||||
if !m.IsCard() {
|
if !m.IsCard() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user