public async Task ProcessBookmark(CreateBookmarkRequest request) { var response = await _httpClient.GetAsync(request.Url); if (response.IsSuccessStatusCode) { var tempFileName = Path.GetTempFileName(); using (var fileStream = new FileStream(tempFileName, FileMode.CreateNew, FileAccess.ReadWrite)) { var stream = await response.Content.ReadAsStreamAsync(); await stream.CopyToAsync(fileStream); } var result = KindleConverter.Create(tempFileName) .SetCompressionLevel(CompressionLevel.NoCompression) .Convert(); if (result.IsSuccess) { string filePath = tempFileName.Replace(".tmp", ".mobi"); await _capPublisher.PublishAsync(Constants.SaveBookmarkQueue, new SaveBookmarkRequest() { UserId = request.UserId, Url = request.Url, FilePath = filePath }); } } }
public bool Convert(string folder, string intputFileName, string outputFileName) { var inputPath = Path.Combine(folder, intputFileName); var result = KindleConverter.Create(inputPath) .SetCompressionLevel(CompressionLevel.NoCompression) .SetOutput(outputFileName) .Convert(); if (!result.IsSuccess) { string message = result.Details.FirstOrDefault(x => x.ConvertLogType == ConvertLogType.Error)?.Message; Console.WriteLine($"Has exception: {message}"); } else { Console.WriteLine("Complete successfully"); } return(result.IsSuccess); }
static void Main(string[] args) { Console.Write("Write your .opf .htm .html .epub .zip or directory path: "); string path = Console.ReadLine(); var result = KindleConverter.Create(path) .SetCompressionLevel(CompressionLevel.NoCompression) .SetOutput("test.mobi") .Convert(); if (!result.IsSuccess) { string message = result.Details.FirstOrDefault(x => x.ConvertLogType == ConvertLogType.Error)?.Message; Console.WriteLine($"Has exception: {message}"); } else { Console.WriteLine("Complete successfully"); } Console.ReadKey(); }