2011-08-25 3 views
4

Silverlight 브라우저 내 응용 프로그램에서 새 HTML 창으로 파일 (바이트 배열)을 스트리밍하거나 보내려면 가장 효율적인 방법은 무엇이겠습니까? 파일을 기본 OS 응용 프로그램과 연관 시키거나 파일을 저장 하시겠습니까?Silverlight : 새로운 HTML 브라우저 창으로 파일을 스트리밍하여 사용자에게 "열거 나 다른 이름으로 저장 ..."할 것인지 묻습니다.

파일 저장 대화 상자를 사용하여 필요에 따라 파일을 저장할 수 있지만 사용자가 내 응용 프로그램에서 파일을 클릭하면 표준 운영 체제의 "열기/저장"대화 상자가 필요합니다. 튀어 나와야 해.

+2

중복 http://stackoverflow.com/questions/2511957/opening-response-stream-in-silverlight – hatchet

+0

바이트는 실제로 어디에서 발생 했습니까? 서버의 파일입니까? – AnthonyWJones

+0

@anthony, 네, 파일 서버에서 왔습니다. –

답변

2

파일이 서버에 있기 때문에 왜 브라우저가 모든 것을 처리하지 : -의

HtmlPage.Window.Navigate(urlToFile, "_blank"); 
+0

이것은 실제로 제가 복용하는 경로입니다. 이 경우 API 레이어는 MVC 웹 앱이므로 파일 스트림을 반환하고 브라우저가 처리하도록 조치를 추가합니다. –

+0

완벽하게 일했습니다. 파일을 제공하고 URL에 파일을 저장하고 MIME 유형 및 모든 것을 설정하는 새 창에서 열었으며 원하는대로 정확하게 작동합니다. 다시 Thx. –

1

귀하의 요구 사항이 데스크톱 앱용이며 Silverlight 앱용 인 것 같습니다. 이제까지 ClickOnce을 들여다 보았습니까?

내가 생각한 가장 확실한 방법은 파일을 원격 서버로 보낸 다음 사용자를 해당 서버로 보내는 것입니다. 아마 당신이 찾고있는 것이 아닙니다.

소켓을 열고 효과적으로 Silverlight 응용 프로그램을 서버로 전환 할 수있는 옵션이 있습니다. 그런 다음 새 브라우저 창을 열고 localhost : portnum을 가리 키도록하십시오. 그러나 FTP 또는 HTTP와 같이 브라우저가 이해할 수있는 프로토콜을 구현해야합니다. 어느 쪽이 조금 우스운 것처럼 보입니다.

관련 문제