访问路径'D:\\ ocean.gif'被拒绝

时间:2012-08-06 12:14:47

标签: silverlight-5.0

在我的Silverlight应用程序中,我收到此错误:

  

不允许进行文件操作。访问路径'D:\ ocean.gif'被拒绝。

谁能告诉我为什么?

1 个答案:

答案 0 :(得分:2)

默认情况下,不允许您从Silverlight应用程序访问本地文件系统;只有isolated file storage可用于标准Silverlight应用程序。

您可以将Silverlight应用程序配置为使用elevated trust。这将使您的SL应用程序完全访问本地文件系统。对于浏览器外的应用程序,这通常是最实用的;有许多deployment restrictions与浏览器内升级信任应用程序相关联。

更新另一种通常不需要您设置提升信任的替代方法是使用FileStream将图像读作OpenFileDialog

var dlg = new OpenFileDialog();
if (dlg.ShowDialog().GetValueOrDefault())
{
    var stream = dlg.File.OpenRead();

    ... read the stream using a suitable image reader class ...
}

我不能指出在Silverlight中工作的足够的图像流阅读器,但尝试谷歌搜索它。

要在应用程序中使用提升信任,只需在项目中启用提升信任。这在MSDN文档中有详细描述。