1

我的程序允许用户将文件添加到 zip 文件中,一次上传一个。第一次上传会创建一个 zip 文件,随后的上传会添加到创建的文件中。它还显示 zip 文件中所有文件的列表,并允许用户删除单个文件。

我使用 SharpZipLib,这在我的本地计算机上运行良好,但是一旦我将它上传到服务器,它就开始在 CommitUpdate()

创建 zip 文件的原始上传很好,但添加到 zip 文件或从中删除会给出:

找不到文件“W:\MyZipFile.zip.151.tmp”。

如果我将窗口单独放置一段时间,我可以在错误再次出现之前删除一个文件或添加一个文件。

我的添加文件方法:

ZipFile z = null;
if (System.IO.File.Exists(filePath + zipFilename))
     z = new ZipFile(File.OpenRead(filePath + zipFilename));
else
     z = ZipFile.Create(filePath + zipFilename);
z.BeginUpdate();
z.Add(filePath + filename, filename);
z.CommitUpdate();
z.Close();
4

2 回答 2

1

我想到了。在显示 zip 文件中的文件列表后,我忘记关闭 ZipFile。那锁定了拉链,直到超时才让我编辑。

于 2009-03-16T12:50:22.983 回答
0

您需要确保运行应用程序的任何用户都具有 NTFS 权限,可以在 filepath 指定的文件夹中创建和修改文件

于 2009-03-13T19:11:06.420 回答