下载的文件内容未显示

时间:2012-07-04 06:08:50

标签: c#

我使用下面的代码来下载文件。但它下载文件但没有显示内容,或者它没有打开文件。文件路径不同。我的项目在不同的路径,我从不同的路径采取文件。这些文件不存储在项目路径中。文件路径,大小,名称存储在数据库中。

Crc32 crc = new Crc32();
ZipOutputStream s = new ZipOutputStream(File.Create(
       @"C:\Documents and Settings\admin\My Documents\Downloads\Evidence.zip"));

s.SetLevel(0); // 0 - store only to 9 - means best compression

FileStream fs = File.OpenRead(@"c:\boot.ini");
byte[] buffer = new byte[fs.Length];

fs.Read(buffer, 0, buffer.Length);

if (ds.Tables[0].Rows.Count > 0)
{
  for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  {
    string fileNamePath = Convert.ToString(ds.Tables[0].Rows[i]["EvidencePath"]);
    string fileNmae = Convert.ToString(ds.Tables[0].Rows[i]["EvidenceName"]);

    ZipEntry entry = new ZipEntry(ZipEntry.CleanName(@fileNmae));
    entry.DateTime = DateTime.Now;
    entry.Comment = "test file";
    entry.ZipFileIndex = i + 1;
    entry.Size = fs.Length;

    //fs.Close();

    crc.Reset();
    crc.Update(buffer);
    entry.Crc = crc.Value;

    s.PutNextEntry(entry);
    s.Write(buffer, 0, buffer.Length);

    //Response.WriteFile(""+fileNamePath);
  }
  s.Finish();
  s.Close();
  fs.Close();
}

ShowMessageBox("Downloaded....");

1 个答案:

答案 0 :(得分:0)

我只是快速浏览一下你的代码,但如果我理解正确,那么没有任何内容写入文件,这是正确的吗?您可以尝试在结尾附近添加以下内容:

S.Flush()

当你关闭流时,这可能会自动发生,但是我已经看到了无论出于什么原因它都没有的情况。刷新将确保缓冲区中的任何数据在关闭之前实际写入文件。