将文件(图片,音乐,电影)保存在Container文件中

时间:2010-07-04 23:39:30

标签: c# file containers

我目前正在学习C#,我正在编写一个小型电影数据库应用程序。我知道在数据库中保存图片(等)并不好,特别是在添加相当大的电影封面时。但我不希望文件只保存在文件夹中,因为如果将更多和更多的电影添加到列表中,这会造成混乱。

有没有人知道将文件存储在某种容器文件中的方法(如covers.xxx)。然后,该容器包含一个大文件中的所有封面,然后可以使用地址或名称检索文件。

谢谢:)

2 个答案:

答案 0 :(得分:2)

http://dotnetzip.codeplex.com/

使用上面的库和以下代码段。

 using (ZipFile zip = new ZipFile())
 {
     // add this map file into the "images" directory in the zip archive
     zip.AddFile("c:\\images\\personal\\7440-N49th.png", "images");
     // add the report into a different directory in the archive
     zip.AddFile("c:\\Reports\\2008-Regional-Sales-Report.pdf", "files");
     zip.AddFile("ReadMe.txt");
     zip.Save("MyZipFile.zip");
 }

答案 1 :(得分:0)

我不明白为什么在db中将文件存储为二进制文件一定是个坏主意。

然而,如果它肯定是出局,那么听起来你想要一种存储非压缩文件汇编的方法 - 基本上是一个未压缩的.zip。您可以通过创建一个文件来实现这一点,该文件只是您想要附加的文件的数据,以及它们之间的某种唯一标题字符串,您可以在从文件读取时拆分它们。最终这是模拟一个基本的文件数据库,所以我不确定你做了什么,但这是一个想法。