コード例 #1
0
ファイル: ConvertService.cs プロジェクト: avgx/knigoskop
        public ConversionResultModel ConvertAndGetTargetFileName(BookSourceModel source, BookFormatEnum outputFormat,
            bool compress = true)
        {
            Guid id = ExtractBook(source.FileName, source.Body);
            if (outputFormat != DefaultBookFormat)
            {
                Convert(id, outputFormat);
                var sourceFile = GetTempFileName(id, DefaultBookFormat);
                if (File.Exists(sourceFile))
                    File.Delete(sourceFile);
            }

            var result = new ConversionResultModel
            {
                DownloadFileName = string.Format("{0}.{1}",
                    Transliterator.FromCyrillicToTransliteration(TextHelper.CleanCharacters(source.Name)),
                    outputFormat).ToLower(),
                FullFileName = GetTempFileName(id, outputFormat)
            };

            if (compress)
                result  = Compress(result);

            return result;
        }
コード例 #2
0
ファイル: ConvertService.cs プロジェクト: avgx/knigoskop
 public ConversionResultModel Compress(ConversionResultModel source)
 {
     var fileName = string.Format("{0}.zip", source.FullFileName);
     using (var zip = ZipFile.Create(fileName))
     {
         zip.BeginUpdate();
         zip.Add(source.FullFileName, source.DownloadFileName);
         zip.CommitUpdate();
     }
     if (File.Exists(source.FullFileName))
         File.Delete(source.FullFileName);
     source.FullFileName = fileName;
     source.DownloadFileName = string.Format("{0}.zip", source.DownloadFileName);
     return source;
 }