diff --git a/message/image.go b/message/image.go index 48079b2..bdc0321 100644 --- a/message/image.go +++ b/message/image.go @@ -80,14 +80,12 @@ func (msg *ImageMessage) ParseMessage(data string) error { } } - escapedURL := url.QueryEscape(attrs["url"]) - - escapedURL = strings.ReplaceAll(escapedURL, ",", ",") - escapedURL = strings.ReplaceAll(escapedURL, "[", "[") - escapedURL = strings.ReplaceAll(escapedURL, "]", "]") - escapedURL = strings.ReplaceAll(escapedURL, "&", "&") - - msg.Data.URL = escapedURL + msg.Data.URL = attrs["url"] + msg.Data.URL = url.QueryEscape(msg.Data.URL) + msg.Data.URL = strings.ReplaceAll(msg.Data.URL, ",", ",") + msg.Data.URL = strings.ReplaceAll(msg.Data.URL, "[", "[") + msg.Data.URL = strings.ReplaceAll(msg.Data.URL, "]", "]") + msg.Data.URL = strings.ReplaceAll(msg.Data.URL, "&", "&") msg.Data.Summary = attrs["summary"] msg.Data.File = attrs["file"] msg.Data.Key = attrs["key"] diff --git a/util/url.go b/util/url.go index 4ddb502..a8b35d0 100644 --- a/util/url.go +++ b/util/url.go @@ -65,6 +65,11 @@ func normalizeURL(rawURL string) string { // DownloadFile 下载文件到指定目录,返回带有正确扩展名的完整文件路径 func DownloadFile(url string, dirPath string) (filepath string, err error) { + + url = strings.ReplaceAll(url, ",", ",") + url = strings.ReplaceAll(url, "[", "[") + url = strings.ReplaceAll(url, "]", "]") + url = strings.ReplaceAll(url, "&", "&") // 发送 HTTP GET 请求 var resp *http.Response var maxRetry = 100