2010-05-27 3 views
1

스트림을 통해 서버 이미지 및 비디오에서 가져옵니다. 지금 나는 그것을 절약 해요 :System.Diagnostics.Process.Start와 같은 것이 스트림을 실행합니다.

Stream str = client.GetFile(path); 
        using (var outStream = new FileStream(@"c:\myFile.jpg", FileMode.Create)) 
        { 
         var buffer = new byte[4096]; 
         int count; 
         while ((count = str.Read(buffer, 0, buffer.Length)) > 0) 
         { 
          outStream.Write(buffer, 0, count); 
         } 
        } 

나는 JPG, MPG, FLV 및 기타 멀티미디어 유형을 많이 할 수있다 (내가 스트림을 얻을 전에 나는이 파일의 확장자 무엇인지).

이제 저장하지 않고 스트림에서 직접 실행하고 싶습니다.

예 :

나는 mybirthay.avi입니다 스트림을 얻고 난 내 방식 RUNFILE (스트림)를 호출하고 나는이 방법 System.Diagnostics.Process.Start (경로)와 같은 작품을해야한다, 그래서 내 스트림을해야한다고 생각 예를 들어 allplayer와 같은 내 기본 프로그램에서 열 수 있습니다.

내가 myfile.jpg에서 스트림을 얻을하고 IrfanView의에 의해 개방되고,

등 ...

그것은 가능?

+0

나는 당신이 무엇을하려고하는지 명확히해야한다고 생각합니다. 서버의 파일 스트림으로 무엇을하고 싶습니까? 그리고 Process.Start와 어떻게 관련이 있습니까? –

+0

@ 0xA3 이제이 jpg를 System.Diagnostics.Process.Start (@ "C : \ myFile.jpg")에서 실행할 수 있으며 기본 프로그램에서 열 수 있습니다. – user278618

+1

안돼, 미안. – leppie

답변

1

Windows는 ReadProcessMemory와 같은 권한있는 디버그와 유사한 API 기능을 사용하지 않고 프로세스간에 벽을 쌓아서 서로의 메모리에 직접 액세스 할 수 없습니다. 이것은 운영 체제를 안정적이고 안전하게 유지하는 것입니다. 그러나 당신이 성취하려고하는 것에 대해 운명을 말해줍니다.

파일을 사용해야합니다. 직접 메모리 액세스보다 훨씬 느리지는 않지만 파일 시스템 캐시가이를 처리합니다. 해당 파일의 위치에있을 스트림, 그리고 쉘을 저장, 램 디스크를 사용 http://www.eldos.com/cbfs/

을 또는 : 당신이 디스크에 스트림을 저장하지에 설정되어있는 경우

2

, 당신은 Eldos '콜백 파일 시스템 같은 것을 사용할 수 있습니다 .

관련 문제