我目前正在学习C#,我正在编写一个小型电影数据库应用程序。我知道在数据库中保存图片(等)并不好,特别是在添加相当大的电影封面时。但我不希望文件只保存在文件夹中,因为如果将更多和更多的电影添加到列表中,这会造成混乱。
有没有人知道将文件存储在某种容器文件中的方法(如covers.xxx)。然后,该容器包含一个大文件中的所有封面,然后可以使用地址或名称检索文件。
谢谢:)
答案 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。您可以通过创建一个文件来实现这一点,该文件只是您想要附加的文件的数据,以及它们之间的某种唯一标题字符串,您可以在从文件读取时拆分它们。最终这是模拟一个基本的文件数据库,所以我不确定你做了什么,但这是一个想法。