Сохраняйте файлы (картинки, музыку, фильмы) в файле контейнера - PullRequest
1 голос
/ 05 июля 2010

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

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

Спасибо:)

Ответы [ 2 ]

2 голосов
/ 05 июля 2010

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");
 }
0 голосов
/ 05 июля 2010

Я не понимаю, почему хранение файлов в двоичном виде в БД - это, безусловно, плохая идея.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...