예제 #1
0
        /// <summary>
        /// 下载磁链接文件
        /// </summary>
        /// <param name="metalink">磁链接文件</param>
        /// <param name="fileName">输出文件名</param>
        /// <param name="dir">下载目录</param>
        /// <param name="taskOptions">下载任务选项</param>
        /// <returns>成功返回任务标识符数组,失败返回空数组</returns>
        public string[] AddMetalink(string metalink, string fileName = "", string dir = "", List <Dictionary <string, string> > taskOptions = null)
        {
            try
            {
                string   autoSaveFileID = "";
                string[] gids           = Aria2cWarpper.AddMetalink(ref autoSaveFileID, metalink, fileName, dir, taskOptions);
                foreach (var gid in gids)
                {
                    if (!string.IsNullOrWhiteSpace(gid))
                    {
                        Aria2cTask task = Aria2cWarpper.TellStatus(gid);
                        OnStart?.Invoke(this, new Aria2cTaskEvent(task));
                        AddDownTask(task);

                        if (autoSaveFileID != "")
                        {
                            gidAndTorrentOrMeta4Map.Add(gid, autoSaveFileID + ".meta4");
                        }
                    }
                }
                return(gids);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(new string[] { "" });
            }
        }
예제 #2
0
 /// <summary>
 /// 下载磁链接文件
 /// </summary>
 /// <param name="metalink">磁链接文件</param>
 /// <param name="dir">下载目录</param>
 /// <returns>成功返回任务标识符,失败返回空</returns>
 public string AddMetalink(string metalink, string fileName = "", string dir = "")
 {
     try
     {
         string gid = Aria2cWarpper.AddMetalink(metalink, fileName, dir);
         if (!string.IsNullOrWhiteSpace(gid))
         {
             Aria2cTask task = Aria2cWarpper.TellStatus(gid);
             OnStart?.Invoke(this, new Aria2cTaskEvent(task));
             AddDownTask(task);
         }
         return(gid);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex);
         return(string.Empty);
     }
 }