将zip文件上载到数据库

时间:2012-08-11 16:16:36

标签: c# database entity-framework zip

我正在使用Entity Framework作为学校/课程项目的一部分,应该允许用户上传文件或目录。如果它是一个目录,它必须压缩(我抓住了DotNetZip),但我不确定如何将zip文件转换为byte[]。我还应该将zip存储在临时目录中,并在保存后将其删除吗?

1 个答案:

答案 0 :(得分:3)

根据http://dotnetzip.codeplex.com/wikipage?title=CS-Examples&referringTitle=Examples,您可以将zip文件保存到内存流中,而无需将其写入任何临时文件:

var stream = new System.IO.MemoryStream();

using (ZipFile zip = new ZipFile())
{
    zip.AddFile("ReadMe.txt");
    zip.AddFile("7440-N49th.png");
    zip.AddFile("2008_Annual_Report.pdf");        
    zip.Save(stream);
}

byte[] data = stream.ToArray();