1

我想从 Silverlight OpenFileDialog 上的文件中获取全名,当我尝试这样做时,Silverlight 会抛出一个错误。

我看到FullName上有一个属性说它是[SECURITY CRITICAL],但是我需要显示完整路径,我真的没有办法吗?

4

4 回答 4

2

好吧,是的,Silverlight 不允许您检索完整的路径信息。您的主题似乎与此问题密切相关。也许那里的答案会更清楚地说明您的问题。

于 2009-09-04T12:39:50.910 回答
2

OpenFileDialog 不会提供全名,因为它不希望您更改这些文件。使用 Silverlight,您只能访问隔离存储,并且文件可能位于此存储之外。但是您可以打开文件并将其复制到隔离存储,然后在那里进行修改。
刚刚发现bassfriend也找到了这个链接并将其发布在上面。我的错。再说一次,该链接在 Google 的前 20 名中。:-)

您无法获得完整文件名的另一个原因是该文件名可能包含敏感信息。例如,“我的文档”文件夹中的文件可能会暴露用户登录名。

基本上,这是一个安全限制。你不应该绕过它,即使它是可能的。如果您能找到解决此问题的方法,MS 可能会发布安全更新以再次关闭该泄漏...

于 2009-09-04T13:06:11.993 回答
1

尝试使用此处记录的 File 属性: 示例MSDN

于 2009-09-04T12:29:57.840 回答
1

出于安全原因,Silverlight OpenFileDialog 的行为与标准格式 OFD 不同。如果您检索 SelectedFile,它实际上会返回一个FileDialogFileInfo对象,其中包含文件的名称,而不是文件的路径。当您考虑它时,这完全有道理 - 您不希望有人编写一段可以获取文件系统句柄的恶意代码。

于 2009-09-04T12:39:54.217 回答