Сохраните файлы (изображения, музыка, фильмы) в Контейнерном файле

Я в настоящее время изучаю C# во время своих исследований, и я пишу небольшое приложение базы данных фильма в нем. Я знаю, что не хороший сохранил картинки (и т.д.) в базе данных, особенно при добавлении покрытий фильма, которые являются довольно большими. Но я не хочу, чтобы файлы просто были сохранены в папке, поскольку это создает путаницу, если все больше фильмов добавляется к списку.

Делает любой знает способ хранить файлы в своего рода контейнерный файл (как covers.xxx). Затем тот контейнер содержит все покрытия в одном большом файле, файлы могут затем быть получены с адресом или именем.

Спасибо :)

1
задан Drunkendo 4 July 2010 в 23:39
поделиться

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");
 }
2
ответ дан 2 September 2019 в 23:18
поделиться

Я не вижу, почему хранение файлов в двоичном виде в базе данных обязательно является плохой идеей.

Однако, если это определенно исключено, то похоже, что вам нужен способ хранения несжатой компиляции файлов - по сути, .zip, который не сжат. Вы можете добиться этого, создав файл, который представляет собой просто данные нужных вам файлов, сложенные вместе с какой-то уникальной строкой заголовка между ними, которую вы можете разделить при чтении из файла. В конечном счете, это имитация базовой файловой БД, поэтому я не уверен, чего вы добьетесь, но это идея.

0
ответ дан 2 September 2019 в 23:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: