在Silverlight 4中打开文件不允许文件操作

时间:2011-05-16 08:37:19

标签: c# silverlight silverlight-4.0

我有一个带有选择文件打开对话框的Silverlight Web应用程序(4.0),但是当用户选择文件时出现此错误:“不允许文件操作访问路径''被拒绝” 当我尝试调试它然后我得到这个安全异常“对话必须是用户启动的”。 有没有解决的办法?有没有人尝试在Silverlight中这样做?

到目前为止,这是我的代码,但没有奏效:

OpenFileDialog dlg = new OpenFileDialog
{
    Multiselect = false,
    Filter = "All files|*.*"
};
bool? userClickedOK = dlg.ShowDialog();

if (userClickedOK == true)
{
    textBox1.Text =  dlg.File.FullName;
}

6 个答案:

答案 0 :(得分:2)

由于安全相关的限制,您无法直接在Silverlight中打开文件对话框。您只能从鼠标单击等事件处理程序中打开对话框。

答案 1 :(得分:1)

  1. 在silverlight 4中,您无法访问 FullName 属性,这是异常的原因:“不允许文件操作拒绝访问路径” 我没有使用你的应用程序 OOB ,无法找到获取所选文件的完整文件路径的方法。

  2. 在调试silverlight项目时,如果在 dlg.ShowDialog()之前的任何位置放置断点,如果是代码,则会引发异常:“对话框必须是用户发起的“ 避免此异常的简单方法是在 ShowDialog()行之后放置断点。

答案 2 :(得分:0)

据我所知,如果您没有提升权限,则不允许您访问用户文件。

答案 3 :(得分:0)

您无法获取文件的全名。在所有情况下,你为什么需要它?没有理由知道用户存储她的文件的位置。

如果您想阅读文件,请改用上传文件的Stream属性。

答案 4 :(得分:0)

我在阅读了很多关于你无法访问的问题之后遇到了同样的问题

 dlg.File.FullName 
相反,你可以使用这个

 dlg.File.Name 

通过这样做,您的例外将被删除

答案 5 :(得分:0)

如果您尝试从FileInfo访问CreationTime,也会发生错误。