我想使用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减小文件大小?
答案 0 :(得分:1)
你可以通过在保存
之前添加以下行来实现zip.CompressionLevel= Ionic.Zlib.CompressionLevel.BestCompression;
或者,您可以参考以下链接获取详细答案 Compression issue with large archive of files in DotNetZip
PL。注意:库在压缩图像文件方面有局限性,上面的链接将使您清楚地了解文件是否被压缩。您还可以参考http://dotnetzip.herobo.com/DNZHelp/Index.html获取有关此主题的其他帮助