C# 无法解压缩使用 CreateEntryFromFile 压缩的文件
C# Unable to unzip files zipped with CreateEntryFromFile
根据 this post 我正在使用以下代码压缩 SQL 备份文件:
using (ZipArchive zip = ZipFile.Open("test.bak", ZipArchiveMode.Create))
{
zip.CreateEntryFromFile(@"c:\something.txt", "data/path/something.txt");
}
已成功创建文件大小正确的 zip 文件。但是我无法解压缩文件。我收到错误:
The compressed (zip) folder is invalid or corrupted
我试过使用 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);
}
上面 Nkosi 的 post 确实有帮助,但我认为增加问题的是 newfile 变量中的转义字符。
这确实有效:
using (ZipArchive zip = ZipFile.Open(newFile, ZipArchiveMode.Create))
{
zip.CreateEntryFromFile(@e.FullPath, "mybackup.bak");
}
根据 this post 我正在使用以下代码压缩 SQL 备份文件:
using (ZipArchive zip = ZipFile.Open("test.bak", ZipArchiveMode.Create))
{
zip.CreateEntryFromFile(@"c:\something.txt", "data/path/something.txt");
}
已成功创建文件大小正确的 zip 文件。但是我无法解压缩文件。我收到错误:
The compressed (zip) folder is invalid or corrupted
我试过使用 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);
}
上面 Nkosi 的 post 确实有帮助,但我认为增加问题的是 newfile 变量中的转义字符。
这确实有效:
using (ZipArchive zip = ZipFile.Open(newFile, ZipArchiveMode.Create))
{
zip.CreateEntryFromFile(@e.FullPath, "mybackup.bak");
}