我正在寻找一些关于如何解决这个问题的建议。任何输入表示赞赏!
目前,我有一个 ASP.NET MVC 应用程序。在客户端,我有一个带有 XPS 文档 ID 的链接。当用户单击该链接时,他们会被带到一个包含文档详细信息的页面。除了此信息之外,我希望在同一页面中显示此信息旁边的文档。
在服务器端,一旦我有了 ID,我就可以从数据库中获取文档,序列化为字节数组。问题是,将序列化文档放入网页的最佳方式是什么?
我非常希望不必将该文档放入文件系统中,然后将文件路径组合在一起。我希望能够将文档作为“application/vnd.ms-xpsdocument”的内容类型流式传输到浏览器。
我尝试使用 Web 控件来处理这个问题(不能写出二进制文件),考虑过创建一个 HTTP 处理程序来执行此操作(不知道从哪里开始),并且已经搞砸了其他几种获取文档的方法流到浏览器。
此外,还有如何在网页中嵌入文档的问题。我是否使用 EMBED 标签?还是一个对象?或者我是否使用 iframe 并将源设置为指向提供文档的任何内容?
再说一次,我不希望一个解决方案包在一个弓上。我正在寻找一些关于如何解决这个问题的建议。而且,虽然这个问题是关于 xps 文档的,但它适用于流式传输要在浏览器中托管的二进制文件(PDF 等)的任何应用程序。
好的,至于在浏览器中显示,一个字:Silverlight。这就解决了。我仍然有找出从服务器发送到浏览器的最佳方式的问题。
打那个。Silverlight 似乎还不够先进,无法显示 XPS 文档。我现在正在考虑一个指向 http 处理程序的 iframe ... iframe 有效。太糟糕了,它把整个事情都扔到了管道里。我想我总是可以撕掉第一页然后送那只小狗……
哇。不需要 HTTP 处理程序。MVC 中的自定义 ActionResult 就是您所需要的。这有多可怕?