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