2011-05-13 2 views
2

저는 사용자가 응용 프로그램이 기억해야하는 이미지 파일 그룹을 선택할 수있게 해주는 새로운 C# 데스크톱 응용 프로그램을 작성하고 있습니다. 나는 또한 내가 지정한 파일들과 함께 xml 파일로 저장하려고한다는 것을 저장하기위한 다른 설정들을 가지고있다. 파일을 zip/cab 유형 파일이나 비슷한 .war 또는 .docx 파일과 같이 저장하려고 생각했습니다. 그러면 사용자가 다시 돌아올 때 파일을 선택하고 필요한 모든 것을 갖출 수 있습니다. 이렇게하면 사용자는 필요한 파일을 (쉽게) 삭제할 수 없습니다. 단점은 이미지 파일을 포함 할 수 있기 때문에 파일이 상당히 커질 수 있다는 것입니다.사용자가 지정한 파일 그룹을 어떻게 저장해야합니까?

하지만 Visual Studio가 폴더의 특정 파일을 가리키는 포인터 인 프로젝트 파일 (.cproj)에 항목을 저장하는 방법에 대해 생각해 보았습니다. 이것은 좋은 해결책 인 것 같습니다. 이 경로를 따라 가면서 사용자가 파일을 삭제하지 않았는지 확인하기 위해 오류 검사를 추가해야합니다. 나는이 코드가 파일을 압축/압축 해제하는 데 필요한 방법이 아닌지 잘 모르겠습니다.

어떤 방법으로 나아질 수있는 포인터가 있습니까? 두 가지 방법 중 어떤 장점/단점이 있습니까?

답변

0

Hmmmm .... 어쨌든 XML 파일이있는 것을보고있는 것처럼 XML 파일의 CDATA 섹션으로 이미지 데이터를 저장하는 것이 좋습니다. 이렇게하면 다시 만들 수 있습니다 (이미지는 "분실"또는 "이동"됨).

이것은 다소 큰 XML 파일로 이어질 수 있지만 특정 크기를 넘으면 압축 할 수 있습니다 (특정 크기까지 압축하면 비용을 회수 할 수 없으며 압축을 풀 때까지 걸릴 수 있습니다. 압축되지 않은 버전을로드하는 데 걸리는 시간보다 길어집니다).

XML 파일에 포함 시키면 저장소에 데이터베이스를 사용할 필요가 없지만 SQLCompact를 사용하면 데이터베이스에 이미지를 저장할 수도 있습니다.

+0

두 가지 솔루션에서 네 가지. 나는이 사이트를 좋아해 사람들이 나보다 똑똑 할 수도있다. 이미지 데이터를 xml에 저장하거나 데이터베이스를 사용하는 것에 대해 생각하지 않았습니다. sqlcompact가 블로그를 저장할 수 있다고 가정하고 있습니까? xml 접근 방식을 시도해야 할 수도 있습니다. 나는 셰어 포인트와 infopath에서 그걸 처리했습니다. – xecaps12

+0

@xecaps, SQLCompact는 blob을 저장하지 않지만 이미지 데이터 유형 (또는 varbinary (max)를 사용할 수 있음)이 더 좋습니다. 설치 면적이 작고 설치가 간편하며 초저가 (무료)이기 때문에이 옵션을 사용하면 매우 유용한 옵션이됩니다. 사용 가능한 데이터 형식에 대한 자세한 내용은 [이 링크] (http://msdn.microsoft.com/en-us/library/system.data.sqldbtype.aspx)를 확인하십시오. – slugster

+0

먼저 xml 아이디어를 시도 할 것입니다. 나는 인터페이스를 작성해 나중에 저장 영역 유형을 변경할 수있는 곳으로 만들 수 있다고 생각합니다. – xecaps12

1

이 질문에 대한 정답은 실제로 실제 비즈니스 요구 사항이 무엇인지에 달려 있습니다. 기억해야 할 가장 중요한 점 중 하나는 파일 위치에 대한 참조를 사용하면 파일이 애플리케이션이 온라인과 오프라인 모두에서 수정 될 수 있다는 것입니다. 만약 당신이 내가 압축 파일에 넣을 것이라고 파일의 스냅 샷을 유지 해야하는 경우 가져 오기 기능입니다 파일 refs 함께 갈 것입니다.

관련 문제