public static void GetTorrentMetadataUsingStream() { try { using (Stream stream = File.Open(Common.MapSourceFilePath(filePath), FileMode.Open, FileAccess.ReadWrite)) { using (TorrentFormat format = new TorrentFormat(stream)) { TorrentMetadata info = format.TorrentInfo; Console.WriteLine(info.Announce); Console.WriteLine(info.CreatedBy); Console.WriteLine(info.CreationDate); Console.WriteLine(info.Comment); Console.WriteLine(info.PieceLength); Console.WriteLine(info.Pieces.Length); foreach (TorrentFileInfo file in info.SharedFiles) { Console.WriteLine(file.Name); Console.WriteLine(file.Length); } } // The stream is still open here } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// Read BitTorrent File Metadata /// Feature is supported in version 18.4 or greater of the API /// </summary> public static void GetTorrentMetadata() { try { using (TorrentFormat torrentFormat = new TorrentFormat(Common.MapDestinationFilePath(filePath))) { TorrentMetadata info = torrentFormat.TorrentInfo; Console.WriteLine(info.Announce); Console.WriteLine(info.CreatedBy); Console.WriteLine(info.CreationDate); Console.WriteLine(info.Comment); Console.WriteLine(info.PieceLength); Console.WriteLine(info.Pieces.Length); foreach (TorrentFileInfo file in info.SharedFiles) { Console.WriteLine(file.Name); Console.WriteLine(file.Length); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// Update Bit Torrent File Metadata /// Feature is supported in version 18.4 or greater of the API /// </summary> public static void UpdateTorrentMedata() { try { using (TorrentFormat torrentFormat = new TorrentFormat(Common.MapSourceFilePath(filePath))) { TorrentMetadata info = torrentFormat.TorrentInfo; info.Comment = "test comment"; info.CreatedBy = "test application"; info.CreationDate = DateTime.Now; torrentFormat.Save(Common.MapDestinationFilePath(filePath)); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }