簡體   English   中英

使用DotNetZip減小文件大小

[英]Reduce file size with DotNetZip

我想使用SMO備份數據庫並壓縮備份文件,然后將其上傳到服務器。 這是我的代碼

            // Backup
            var conn = new SqlConnection(sqlConnectionString);
            var server = new Server(new ServerConnection(conn));
            var backupMgr = new Backup();
            backupMgr.Devices.AddDevice(file.FullName, DeviceType.File);
            backupMgr.Database = dictionary[StringKeys.Database];
            backupMgr.Action = BackupActionType.Database;
            backupMgr.SqlBackup(server);

            // Compress
            using (var zip = new ZipFile())
            {
                zipFile = string.Format("{0}\\{1}.zip", directoryName, DateTime.Now.ToString("yyyyMMddHHmm"));
                zip.AddFile(outputPath, "");

                zip.Save(zipFile);
            }

            // uploading code

備份文件的大小可以超過100MB。 但是在我使用上面的代碼將其壓縮后,它不會減小大小。 因此,我無法上傳較大的zip文件。 有沒有辦法用DotNetZip減小文件大小?

您可以通過在保存之前添加以下行來實現

zip.CompressionLevel= Ionic.Zlib.CompressionLevel.BestCompression;

或者,您可以參考以下鏈接以獲取詳細答案DotNetZip中的大型文件壓縮問題

Pl。 注意:庫在壓縮圖像文件方面有局限性,上面的鏈接將使您清楚地了解文件是否正在壓縮。 您也可以參考http://dotnetzip.herobo.com/DNZHelp/Index.html,以獲取有關此主題的其他幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM