从zip文件添加/删除无法找到临时文件

时间:2009-03-13 19:07:06

标签: sharpziplib

我的程序允许用户一次上传一个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();

2 个答案:

答案 0 :(得分:1)

我明白了。我在zip文件中显示文件列表后忘了关闭ZipFile。这锁定了拉链,不会让我编辑,直到它超时。

答案 1 :(得分:0)

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