我正在使用实体框架作为学校/课程项目的一部分,应该允许用户上传文件或目录。如果它是一个目录,则必须对其进行压缩(我掌握了 DotNetZip),但我不确定如何将 zip 文件转换为byte[]
. 我还应该将 zip 存储在临时目录中并在保存后将其删除吗?
问问题
2405 次
1 回答
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();
于 2012-08-11T17:54:10.050 回答