根据this的帖子,我正在使用以下代码压缩SQL备份文件:
using (ZipArchive zip = ZipFile.Open("test.bak", ZipArchiveMode.Create))
{
zip.CreateEntryFromFile(@"c:\something.txt", "data/path/something.txt");
}
已成功创建具有正确文件大小的zip文件。但是我无法解压缩文件。我得到了错误:
压缩(zip)文件夹无效或损坏
我尝试使用7-zip和内置的Windows“全部提取”选项。 我也尝试过重新安装软件,但是没有运气。
我的代码版本:
var fileName = Path.GetFileName(e.FullPath);
var newFile = dir + "\\" + fileName + ".zip";
var backupFile = txtBackupFolder.Text == "" ? "" : txtBackupFolder.Text + "\\" + fileName + ".zip";
using (ZipArchive zip = ZipFile.Open(newFile, ZipArchiveMode.Create))
{
zip.CreateEntryFromFile(@e.FullPath, newFile);
}
答案 0 :(得分:0)
上面的Nkosi帖子确实有所帮助,但是我认为增加问题的是newfile变量中的转义字符。
这确实有效:
using (ZipArchive zip = ZipFile.Open(newFile, ZipArchiveMode.Create))
{
zip.CreateEntryFromFile(@e.FullPath, "mybackup.bak");
}