使用 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 中文件的大型存档的压缩问题

请注意:该库在压缩图像文件方面存在限制,上面的链接将使您清楚地了解文件是否被压缩。您还可以参考 http://dotnetzip.herobo.com/DNZHelp/Index.html 以获取有关此主题的其他帮助

最新更新