gpt4 book ai didi

c# - 在浏览器外从 Silverlight 打开 PDF 和其他文档

转载 作者:行者123 更新时间:2023-11-30 16:27:31 27 4
gpt4 key购买 nike

我在找出打开存储在数据库中的文件的最佳方法时遇到了一点问题。该文件作为字节数组存储在数据库的 nvarbinary 字段中。目前,当我想打开一个文件时,我使用一个 ASP.NET 网页,我将一个变量传递给该网页并将文件流写入该页面。这在使用 Silverlight 应用程序的浏览器版本时工作正常,但在浏览器之外时我无法调用浏览器窗口打开,因为我无权访问 dom。

如何在不调用浏览器窗口的情况下从 Silvelright 打开字节数组?我能够毫无问题地将字节数组和文件类型传递给 Silverlight 应用程序。我只是不知道如何在我拥有它后显示它..

谢谢!

最佳答案

如果您的目标是 windows(启用了完全信任,而不是 mac),您可以通过首先将文件写入磁盘(在独立存储或我的文档中),然后使用 WScript.Shell 让操作系统打开文件的 COM 对象。

将字节流保存到文件并获得文件位置后,您可以:

using (dynamic shell = AutomationFactory.CreateObject("WScript.Shell"))
{
shell.Run(fileLocation); //works similar to start -> run -> filename
}

如果您想利用现有的 ASP 页面,您可以将其 URL 传递给 shell.Run,操作系统将使用用户的默认浏览器打开该页面。

在 Mac 上,您最好将文件保存到他们的用户目录,然后让他们使用 Finder 手动导航到那里并双击它。

关于c# - 在浏览器外从 Silverlight 打开 PDF 和其他文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7824045/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com