我的程序允许用户一次上传一个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();
答案 0 :(得分:1)
我明白了。我在zip文件中显示文件列表后忘了关闭ZipFile。这锁定了拉链,不会让我编辑,直到它超时。
答案 1 :(得分:0)
您需要确保运行应用程序的任何用户具有NTFS权限,以便在filepath指定的文件夹中创建和修改文件