【问题标题】:Silverlight: Stream file to new HTML browser window to prompt user to "open or save as..."?Silverlight:将文件流式传输到新的 HTML 浏览器窗口以提示用户“打开或另存为...”?
【发布时间】:2011-08-26 19:54:04
【问题描述】:

如果可以的话,最有效的方法是将文件(字节数组)从浏览器内的 Silverlight 应用程序流式传输或发送到新的 HTML 窗口,以提示用户打开与默认操作系统应用程序关联的文件,还是保存文件?

我正在使用保存文件对话框来允许他们在需要时保存文件,但我有一个要求,如果用户在我的应用程序中单击文件,标准操作系统的“打开/保存”对话框应该弹出。

【问题讨论】:

标签: c# silverlight file silverlight-4.0


【解决方案1】:

既然文件在服务器上,为什么不让浏览器处理这一切:-

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

【讨论】:

  • 这实际上是我正在寻找的路线。在我们的例子中,我们的 API 层是一个 MVC Web 应用程序,所以我将添加一个操作来返回文件流并让浏览器处理它。
  • 完美运行。提供文件,在带有文件 URL 的新窗口中打开它,设置 MIME 类型和所有内容,它完全按照需要工作。再次感谢。
【解决方案2】:

听起来您的要求是针对桌面应用程序,而不是 Silverlight 应用程序。看过ClickOnce吗?

我能想到的最可行的方法是将文件发送到远程服务器,然后将您的用户定向到该服务器。这可能不是您想要的。

然后可以选择打开一个套接字并有效地将您的 Silverlight 应用程序转变为服务器。然后打开一个新的浏览器窗口并让它指向 localhost:portnum。但是,您需要实现一些浏览器可以理解的协议,例如 FTP 或 HTTP。这似乎有点可笑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 2017-12-09
    • 2010-10-11
    • 2016-08-02
    • 1970-01-01
    相关资源
    最近更新 更多