【问题标题】:Open local files from Silverlight on Mac在 Mac 上从 Silverlight 打开本地文件
【发布时间】:2011-09-30 11:35:33
【问题描述】:

我们的 Silverlight 客户端有两个要求: - 在本地网络上打开文件(在 windows 上使用 UNC,在 mac 上使用 SMB) - 将文件从 Explorer/Finder 拖放到 SL 客户端。

在 Windows 上打开文件(使用 UNC)可以正常工作,无论是使用 IE、FireFox(经过一些调整)还是使用 COM 自动化 Out Of Browser。

在 Mac 上,这被证明是困难的; Mac 上的 Out Of Browser 没有“提升的信任功能”(相当于 Windows 上的 COM 自动化),因此在 Mac 上的 OOB 中,HyperlinkBut​​ton 控件是打开文件(uri)的唯一方法,但这会在打开“ SMB 文件”(我猜是由于 SL OOB 中的跨方案/跨域限制)。 所以我们不得不去浏览器内:现在 Safari 不能很好地处理这个问题。如果您调整浏览器以允许这样做,FireFox 可以打开本地文件。所以我们做到了。

问题是文件拖放(由于浏览器的限制,它在 Safari 中有效,但在 Firefox 中无效)。我们通过创建一个 SL 控件来解决这个问题,该控件使用 HTML 桥将 HTML div 注入到用作可放置区域的 SL 客户端之上。

由于能够打开本地文件需要调整浏览器,因此最好的解决方案是具有打开本地文件 OOB 的功能(相当于 Windows 上的 COM 自动化,例如能够运行 AppleScript)。

这样的事情可能吗?是否可以通过 SMB 在 Mac 上的 OOB 中以某种方式打开文件?

谢谢。

PS:所以我们在 Mac 上使用 FireFox 5(经过调整以允许打开本地文件)在浏览器中运行了一个可行的解决方案——直到我们遇到一个看起来像 Mac 上 FireFox 的 SL 插件存在严重的渲染问题;这个问题贴在这里: Silverlight rendering issue in Firefox 4 and 5 on MacBooks

【问题讨论】:

  • 你有解决办法吗?
  • 是的,我也想知道,有没有办法通过 Silverlight 应用程序在 Mac 上读取本地文件(在沙盒之外)?

标签: silverlight macos local-files


【解决方案1】:

我认为您正在寻找的是如何使受信任的 Silverlight 应用程序能够在浏览器中运行。 windows有一个解决方案。而且我不知道我们如何在 MAC 中做到这一点。

阅读:

http://msdn.microsoft.com/en-us/library/gg192793(v=vs.95).aspx

http://www.simple-talk.com/dotnet/.net-framework/elevated-trust-in-silverlight-4/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多