0

根据这篇文章,我正在使用以下代码压缩 SQL 备份文件:

using (ZipArchive zip = ZipFile.Open("test.bak", ZipArchiveMode.Create))
{
    zip.CreateEntryFromFile(@"c:\something.txt", "data/path/something.txt");
}

使用正确的文件大小成功创建了 zip 文件。但我无法解压缩文件。我得到错误:

压缩 (zip) 文件夹无效或损坏

我试过使用 7-zip 和内置的 Windows 'Extract All' 选项。我还尝试重新安装软件,但没有成功。

我的代码版本:

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);
}
4

1 回答 1

0

Nkosi 上面的帖子确实有所帮助,但我认为增加问题的是 newfile 变量中的转义字符。

这确实有效:

using (ZipArchive zip = ZipFile.Open(newFile, ZipArchiveMode.Create))
{
    zip.CreateEntryFromFile(@e.FullPath, "mybackup.bak");
}
于 2018-07-30T20:29:24.587 回答