XPS 문서를 브라우저로 스트리밍하고 웹 페이지에 포함시킬 수있는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/154318

문제

나는 이것에 관한 방법에 대한 몇 가지 제안을 찾고 있습니다. 모든 입력에 감사드립니다!

현재 ASP.NET MVC 응용 프로그램이 있습니다. 클라이언트에는 XPS 문서의 ID 링크가 있습니다. 사용자가 링크를 클릭하면 문서에 대한 자세한 내용이있는 페이지로 이동합니다. 이 정보 외에도이 정보의 측면과 같은 페이지에 문서를 표시하고 싶습니다.

서버 측면에서 ID가 있으면 데이터베이스에서 바이트 배열로 직렬화 된 문서를 가져올 수 있습니다. 문제는 무엇입니까 베스트 해당 직렬화 된 문서를 웹 페이지에 가져 오는 방법?

나는 해당 문서를 파일 시스템에 삭제 한 다음 파일 경로를 함께 삭제하지 않아도됩니다. 문서를 "application/vnd.ms-xpsdocument"의 콘텐츠 유형으로 브라우저로 스트리밍 할 수 있기를 원합니다.

나는 이것을 처리하기 위해 웹 컨트롤을 사용하여 (이진을 쓸 수 없음),이 작업을 수행하기 위해 HTTP 핸들러를 작성하는 것에 대해 생각했고 (어디서부터 시작 해야할지 전혀 모른다). 브라우저로 스트리밍하십시오.

또한 웹 페이지에 문서를 포함시키는 방법에 대한 질문도 있습니다. 임베드 태그를 사용합니까? 아니면 물체? 아니면 iframe을 사용하고 문서가 전달되는 것을 가리 키도록 소스를 설정합니까?

다시 말하지만, 나는 활에 싸인 솔루션을 기대하지 않습니다. 나는 이것에 관한 방법에 대한 조언을 찾고 있습니다. 이 질문은 XPS 문서에 관한 것이지만 브라우저 (PDFS 등)에서 호스팅 할 바이너리 파일을 스트리밍하는 모든 응용 프로그램에 적용됩니다.


좋아, 브라우저에 표시하는 것은 한 단어 : Silverlight. 그것은 해결되었습니다. 서버에서 브라우저로 보내는 가장 좋은 방법을 알아내는 데 여전히 문제가 있습니다.


그것을 공격하십시오. Silverlight는 XPS 문서를 아직 표시 할만 큼 충분히 발전되지 않은 것으로 보입니다. 나는 iframe이 지금 HTTP 핸들러를 가리키는 것에 대해 생각하고 있습니다 ... iframe이 작동합니다. 너무 나쁘다. 그것은 모든 것을 파이프 아래로 던지는다. 나는 항상 첫 페이지를 벗고 그 강아지를 보낼 수 있다고 생각합니다 ...


우와. HTTP 핸들러가 필요하지 않습니다. MVC의 커스텀 액션 result 만 있으면됩니다. 그게 얼마나 멋진가요?

도움이 되었습니까?

해결책

가장 간단한 방법은 세부 사항 페이지에서 문서를 링크 (target = "_ blank")로 제공하는 것입니다. 여기에는 몇 가지 장점이 있습니다.

  • 사용자가 요청하지 않는 한 전체 문서를 검색하고 스트리밍 할 필요가 없습니다.
  • 내 시스템에서는 적어도 IE가 이미 기본 XPS 뷰어로 등록되어 있으므로 DOC에 자체 창을 제공함으로써이를 포함시키는 방법에 대한 모든 질문을 피합니다.
  • 문서의 스트리밍 소스를 간단하게 제공하는 것이 간단합니다. 쿼리 문자열 매개 변수에 대한 ID와 함께 HTTP 핸들러를 사용하십시오.

그 아이디어가 마음에 들지 않더라도 문서를 전송하기 위해 HTTP 핸들러를 사용하십시오. 정말 간단합니다. Visual Studio에서 새로운 HTTP 핸들러를 만들 때 이미 모든 바쁜 일을하면서 멋진 페이지를 제공해야합니다.

다른 팁

XPS 문서를 표시 할 수있는 Silverlight 컨트롤이 있습니다. 보다 http://firstfloorsoftware.com/blog/announcment-document-toolkit-for-silverlight/ 이상

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