我在找出打开存储在数据库中的文件的最佳方法方面遇到了一些问题.该文件作为字节数组存储在数据库的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手动导航到该目录并双击.
原文地址:https://codeday.me/bug/20191202/2086641.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。