From b56e8838d6b98a25514d7f18f9b12fbdc9d40989 Mon Sep 17 00:00:00 2001 From: Kyle <1531763162@qq.com> Date: Wed, 12 Jul 2023 23:10:56 +0800 Subject: [PATCH] fix: #149 --- utils/utils.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/utils/utils.go b/utils/utils.go index 0195b784..ff09cb3b 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -200,6 +200,8 @@ func DownloadMusic(song structs.Song) { } fileName := fmt.Sprintf("%s-%s.%s", song.Name, song.ArtistName(), musicType) + // Windows Linux 均不允许文件名中出现 / \ 替换为 _ + fileName = strings.Replace(fileName, "/", "_", -1) targetFilename := path.Join(downloadDir, fileName) if _, err := os.Stat(targetFilename); err == nil { Notify(NotifyContent{ @@ -211,7 +213,10 @@ func DownloadMusic(song structs.Song) { return } - resp, err := http.Get(url) + client := &http.Client{ + Timeout: 60 * time.Second, + } + resp, err := client.Get(url) if err != nil { errHandler(err) return @@ -232,7 +237,11 @@ func DownloadMusic(song structs.Song) { GroupId: constants.GroupID, }) - _, _ = io.Copy(f, resp.Body) + _, err = io.Copy(f, resp.Body) + if err != nil { + errHandler(err) + return + } version := songtag.CheckVersion(f) switch version {