c# - 将 zip 文件上传到数据库

标签 c# database entity-framework zip

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

最佳答案

根据 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();

关于c# - 将 zip 文件上传到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11916256/

相关文章:

c# - Entity Framework 自连接

c# - DbSet<T>.Add(T 实体) 抛出 System.InvalidOperationException : Sequence contains no matching element

c# - 如何在运行时检查操作系统版本,例如在 Windows 或 Linux 上,不使用条件编译语句

c# - 无法使用 ContentTypeReader 加载模型

java - 在没有受支持的 JDBC 驱动程序的情况下,如何从 Java 应用程序连接到 SUPRA 数据库

database - 大型 DAG 的拓扑排序示例

sql-server - SQLSERVER : BCP import and encrypt columns using Database Key

c# - 如何使用 ef 为迁移构建强制执行 Restrict DeleteBehavior?

c# - Winform 没有完全处理

c# - 为货币格式化文本框字符串