바이트 [] 또는 스트림에서 파일을 표시합니다.
문제
파일의 내용을 데이터베이스에 저장하는 Winforms 앱이 있습니다. 저장된 파일은 거의 모든 유형 (Word, Excel, PDF, Text, Image ...) 일 수 있습니다. 사용자는 거의 모든 유형의 파일을 선택할 수 있습니다.
그런 다음 사용자는 데이터베이스를 쿼리하고 파일을 찾은 다음 열 수 있습니다.
스트림 또는 바이트 배열로 데이터베이스에서 바이트 배열을 추출하는 데 아무런 문제가 없습니다.
이상적으로는 바이트 배열 또는 스트림에서 파일을 직접 표시 할 수 있습니다. 현재 임시 파일로 저장 한 다음 다음과 같이 열어줍니다.
Process.Start(fileName);
바이트 배열 또는 스트림 파일에서 관련 응용 프로그램으로 파일을 어떻게 표시 할 수 있습니까?
해결책
Windows에서 유일한 옵션은 당신이하고있는 일을 정확하게하는 것입니다. Outlook, Internet Explorer, Firefox, 모두 이것을합니다.
다른 팁
메모리 매핑 파일에 대해 조금 조사하고 싶을 수도 있습니다.
포함 된 디렉토리를 열 수 있지만 지금 당장하고있는 것과 동일 할 것입니다. 관련 앱이 OS로 알려져 있다면 아무런 문제가 없습니다.
바이트 스트림과 함께 DB에 파일 이름을 저장하는 경우 확장자에서 파일 유형을 결정할 수 있습니다. 이 경우에는 두 가지 옵션이 있습니다.
- 레지스트리를 사용하여 사용할 응용 프로그램을 결정하십시오. 이에 대한 자세한 내용은이 대화를 살펴보십시오. bytes.com.
- p/호출 Shgetfileinfo 사용할 응용 프로그램을 결정합니다.
NB : 두 옵션 모두로드하려면 파일 데이터를 디스크의 임시 파일에 작성해야합니다.
개인적으로, 나는 당신이하고있는 일이 아마도 가장 쉬운 옵션이라고 생각합니다.
제휴하지 않습니다 StackOverflow