1、在Silverlight 4 之前,OpenFileDialog是无论如何也无法获取用户选中文件的完整路径,顶多只能获取文件名(比如ABCtxt ),或者直接通过OpenFile返回文件流来读取。任何尝试去获取文件完整路径或者文件系统属性的 *** 作都会导致抛出安全性异常。
2、Silverlight 4 之后,当你的Silverlight应用运行于OOB(Out-Of-Browser)模式且提升了信用级别,那么OpenFileDialog就可以获取用户个人文件夹(如我的文档、我的、我的音乐等)下面文件的完整路径,方法是通过 fileFullName属性(针对楼主提问中写的代码而言);而对于其它非用户个人文件夹下的文件,仍然是无法获取完整路径。
3、此外,在提升信用级别的OOB模式下,Silverlight也可以不走FileDialog而直接访问用户个人文件夹下面的文件。可以通过类似EnvironmentGetFolderPath(EnvironmentSpecialFolderMyDocuments)这样的形式获取这些个人文件夹的完整路径,然后再访问下面的文件。
OOB模式及信用级别的提升都可以在Visual Studio的工程属性里面进行设置。灰色是因为他的权限是从父目录继承的,你需要点击[高级],然后把继承关系去掉。
至于权限分配的问题,还要看你的具体应用,推荐一个回答:
>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)