diff --git a/main.go b/main.go index 8ff9d83..6a314d0 100644 --- a/main.go +++ b/main.go @@ -16,7 +16,7 @@ func processFile(filePath string) error { utils.ErrorPrintfln("Reading '%s' failed: '%s'", filePath, err.Error()) return err } - dump, err := currentFile.Dump() + dump, err := currentFile.Dump(filepath.Dir(filePath)) if err != nil { utils.ErrorPrintfln("Processing '%s' failed: '%s'", filePath, err.Error()) return err diff --git a/ncmcrypt/ncmcrypt.go b/ncmcrypt/ncmcrypt.go index e10587a..7a387ff 100644 --- a/ncmcrypt/ncmcrypt.go +++ b/ncmcrypt/ncmcrypt.go @@ -12,6 +12,7 @@ import ( "ncmdump/utils" "net/http" "os" + "path/filepath" ) type NcmFormat = string @@ -110,7 +111,7 @@ func (ncm *NeteaseCloudMusic) mimeType() string { return "image/jpeg" } -func (ncm *NeteaseCloudMusic) Dump() (bool, error) { +func (ncm *NeteaseCloudMusic) Dump(targetDir string) (bool, error) { ncm.mDumpFilePath = ncm.mFilePath var outputStream *os.File @@ -137,6 +138,9 @@ func (ncm *NeteaseCloudMusic) Dump() (bool, error) { ncm.mFormat = Flac ncm.mDumpFilePath = utils.ReplaceExtension(ncm.mDumpFilePath, ".flac") } + if targetDir != "" { // change save dir + ncm.mDumpFilePath = filepath.Join(targetDir, filepath.Base(ncm.mDumpFilePath)) + } findFormatFlag = true output, err := os.Create(ncm.mDumpFilePath)