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 {