문제

파일의 내용을 데이터베이스에 저장하는 Winforms 앱이 있습니다. 저장된 파일은 거의 모든 유형 (Word, Excel, PDF, Text, Image ...) 일 수 있습니다. 사용자는 거의 모든 유형의 파일을 선택할 수 있습니다.

그런 다음 사용자는 데이터베이스를 쿼리하고 파일을 찾은 다음 열 수 있습니다.

스트림 또는 바이트 배열로 데이터베이스에서 바이트 배열을 추출하는 데 아무런 문제가 없습니다.

이상적으로는 바이트 배열 또는 스트림에서 파일을 직접 표시 할 수 있습니다. 현재 임시 파일로 저장 한 다음 다음과 같이 열어줍니다.

Process.Start(fileName);

바이트 배열 또는 스트림 파일에서 관련 응용 프로그램으로 파일을 어떻게 표시 할 수 있습니까?

도움이 되었습니까?

해결책

Windows에서 유일한 옵션은 당신이하고있는 일을 정확하게하는 것입니다. Outlook, Internet Explorer, Firefox, 모두 이것을합니다.

다른 팁

메모리 매핑 파일에 대해 조금 조사하고 싶을 수도 있습니다.

포함 된 디렉토리를 열 수 있지만 지금 당장하고있는 것과 동일 할 것입니다. 관련 앱이 OS로 알려져 있다면 아무런 문제가 없습니다.

바이트 스트림과 함께 DB에 파일 이름을 저장하는 경우 확장자에서 파일 유형을 결정할 수 있습니다. 이 경우에는 두 가지 옵션이 있습니다.

  1. 레지스트리를 사용하여 사용할 응용 프로그램을 결정하십시오. 이에 대한 자세한 내용은이 대화를 살펴보십시오. bytes.com.
  2. p/호출 Shgetfileinfo 사용할 응용 프로그램을 결정합니다.

NB : 두 옵션 모두로드하려면 파일 데이터를 디스크의 임시 파일에 작성해야합니다.

개인적으로, 나는 당신이하고있는 일이 아마도 가장 쉬운 옵션이라고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top