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

OpenFileDialogdlg=newOpenFileDialog();dlg.Filter=Filter;dlg.Multiselect=Multiselect;f... OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = Filter;
dlg.Multiselect = Multiselect;
foreach (FileInfo file in dlg.Files)
{}
如何获取到文件的路径呢
展开
 我来答
lily_blues
推荐于2016-11-20 · TA获得超过6467个赞
知道大有可为答主
回答量:1279
采纳率:0%
帮助的人:1722万
展开全部
出于用户系统安全的考虑,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()吧? :) )
tn瓶邪
推荐于2016-03-14 · TA获得超过1881个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:112万
展开全部
写法:
OpenFileDialog openFileDlg = new OpenFileDialog();
openFileDlg.Multiselect = false;
openFileDlg.Filter = "文本文件(*.txt)|*.txt";
openFileDlg.ShowDialog();
FileInfo fileInfo = openFileDlg.File;
strFilePath = fileInfo.FullName;
StreamReader fileRead = new StreamReader(strFilePath, Encoding.UTF8);
textBox1.Text = fileRead.ReadToEnd();
fileRead.Close();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式