【问题标题】:Adding to/Delete from zip file can't find temp files从 zip 文件中添加/删除找不到临时文件
【发布时间】:2009-03-13 19:07:05
【问题描述】:

我的程序允许用户将文件添加到 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();

【问题讨论】:

    标签: sharpziplib


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 如果是权限问题,有时我怎么能删除?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      相关资源
      最近更新 更多