diff --git a/internal/task/task.go b/internal/task/task.go index 6663861..c6fa065 100644 --- a/internal/task/task.go +++ b/internal/task/task.go @@ -114,6 +114,13 @@ func (task *Task) Start() { task.UpdateStatus(db, "error", fmt.Errorf("bilibili.GetSessdata: %v", err)) return } + + // 确保下载目录存在 + if err := os.MkdirAll(task.Folder, os.ModePerm); err != nil { + task.UpdateStatus(db, "error", fmt.Errorf("创建下载目录失败: %v", err)) + return + } + client := &bilibili.BiliClient{SESSDATA: sessdata} GlobalDownloadSem.Acquire()