2010-07-04 2 views
1

현재 연구 중에 C#을 배우고 있으며, 작은 동영상 데이터베이스 응용 프로그램을 작성 중입니다. 나는 특히 데이터베이스에 사진 (등)을 저장하는 것이 좋지 않다는 것을 안다. 특히 영화 커버를 추가 할 때 더욱 그렇다. 그러나 점점 더 많은 영화가 목록에 추가되면 혼란을 야기하므로 파일이 폴더에 저장되는 것을 원하지 않습니다.파일 (그림, 음악, 동영상)을 컨테이너 파일에 저장하십시오.

누구든지 파일을 covers.xxx와 같은 일종의 컨테이너 파일에 저장하는 방법을 알고 있습니다. 그런 다음 해당 컨테이너에 모든 커버가 하나의 큰 파일로 포함되어 있으면 주소 또는 이름으로 파일을 검색 할 수 있습니다.

감사합니다 :)

답변

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"); 
} 
+0

너무보기 좋게 검색하는 것이 좋을 것입니다. –

0

DB를 이진으로 파일을 저장하는 이유는 볼 수 없습니다 반드시 나쁜 생각이다.

그러나 확실히 외면 파일의 압축되지 않은 컴파일 (기본적으로 압축되지 않은 .zip)을 저장하는 방법이 필요합니다. 파일에서 읽을 때 분리 할 수있는 일종의 고유 한 헤더 문자열과 함께 추가 할 파일의 데이터 인 파일을 작성하여 직접 만들 수 있습니다. 궁극적으로 이것은 기본 파일 DB를 시뮬레이션하므로 어떤 것을 성취 할 지 확신 할 수 없지만 생각입니다. 라이브러리 및 코드를 다음 위의

+0

압축하지 않으려면 압축 할 수 없습니다. – icktoofay

+0

멋지다. 그렇다면 ZIP 파일과 DB를 비교할 때 ZIP 파일을 사용하여 얻을 수있는 것이 무엇인지 잘 모르겠다. –

+0

db가 바이너리 파일 행에 심하게 엉망이되지 않기 때문에 더 빠른 db를 얻을 수있다. zip 압축으로 작은 파일 크기를 더한 것입니다. – VOX

관련 문제