C# silverlight 如何获取文件本地路径?

C# silverlight 如何获取文件本地路径?,第1张

出于用户系统安全的考虑,Silverlight对于本地文件的访问有相当严格的限制,基本情况如下:

1、在Silverlight 4 之前,OpenFileDialog是无论如何也无法获取用户选中文件的完整路径,顶多只能获取文件名(比如ABC.txt ),或者直接通过OpenFile返回文件流来读取。任何尝试去获取文件完整路径或者文件系统属性的 *** 作都会导致抛出安全性异常。

2、Silverlight 4 之后,当你的Silverlight应用运行于OOB(Out-Of-Browser)模式且提升了信用级别,那么OpenFileDialog就可以获取用户个人文件夹(如我的文档、我的图片、我的音乐等)下面文件的完整路径,方法是通过 file.FullName属性(针对楼主提问中写的代码而言);而对于其它非用户个人文件夹下的文件,仍然是无法获取完整路径。

3、此外,在提升信用级别的OOB模式下,Silverlight也可以不走FileDialog而直接访问用户个人文件夹下面的文件。可以通过类似Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)这样的形式获取这些个人文件夹的完整路径,然后再访问下面的文件。

OOB模式及信用级别的提升都可以在Visual Studio的工程属性里面进行设置。

(另外,楼主问题里面的代码,似乎少了一句dlg.ShowDialog()吧? :) )

目前只能获取到文件名和文件路径获取完整目录会报错

if (openFileDialog.ShowDialog().Value)

{

//文件信息

FileInfo fileInfo = openFileDialog.File

在信任情况下可用( fileInfo.FullName) 获取到路径

fileInfo.Name 获取文件名

}

消息 ID: 1603

安装过程中出现错误。请执行以下步骤

原因是在以前安装过silverlight,没有安装成功或者没有彻底卸载干净,遗留了一些文件,尤其是安装时突然中断的时候会出现这个问题。

解决方法:

方法1

C:\windows\Installer\{89F4137D-6C26-4A84-BDB8-2E5A4BB71E00} 文件删除后重新安装就可以。

然后CMD运行

reg delete HKLM\Software\Microsoft\Silverlight /f

rmdir /s /q "%ProgramFiles%\Microsoft Silverlight

关闭浏览器

重启机器 在安装 silverlight 。。。。 问题解决。。。

方法二:

当你手动安装silverlight失败时他会d出一个对话框,这时请不要点击关闭按钮,请找到silverlight安装程序的路径,这时你会发现在当前路径下多了一个临时的文件夹(或者文件所在分区的第一层目录中,若实在找不到,则可以用搜索的方法,搜索silverlight.msi来找到该目录),名字应该是随机产生的如图:

然后你打开这个文件可看到:

这时你将silverligt.7z解压到当前文件夹,这时就会出现个文件

然后点击这个软件进行安装,这时他会给你报个详细的错误,我报的错误是在KEY \SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION 这个注册表无法写入

这时我们在开始--》运行--》regedit 启动注册表,然后按Ctrl+F按键进行搜索,我输入的关键是Main

查找到后要验证其路径是否为SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

一般在 HKEY_CURRENT_USER\Software 或 HKEY_LOCAL_MACHINE\SOFTWARE 下,若没找到具体的子项FEATURE_BROWSER_EMULATION 也可以给其父项授权

验证过后就是要查看这个路径下的所有文件夹我们是否都有权限进行完全控制

如果没有请将允许项打钩再点击应用和确定,重复上述步骤直到确定上述路径的所有文件夹你都有权限访问

这时可回到刚刚d出错误的对话框,他有个retry按钮,点击它,如果没有效果则回到注册表界面进行以下步骤:

选择编辑--》查找下一个 (或者直接按F3键)如果查找到新的则重复上述步骤直到其d出对话框:

结论:

我是搜索出两个位置并将其权限打开后就可以进行安装了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7912363.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存