我有一个带有选择文件打开对话框的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;
}
答案 0 :(得分:2)
由于安全相关的限制,您无法直接在Silverlight中打开文件对话框。您只能从鼠标单击等事件处理程序中打开对话框。
答案 1 :(得分:1)
在silverlight 4中,您无法访问 FullName 属性,这是异常的原因:“不允许文件操作拒绝访问路径” 我没有使用你的应用程序 OOB ,无法找到获取所选文件的完整文件路径的方法。
在调试silverlight项目时,如果在 dlg.ShowDialog()之前的任何位置放置断点,如果是代码,则会引发异常:“对话框必须是用户发起的“ 避免此异常的简单方法是在 ShowDialog()行之后放置断点。
答案 2 :(得分:0)
据我所知,如果您没有提升权限,则不允许您访问用户文件。
答案 3 :(得分:0)
您无法获取文件的全名。在所有情况下,你为什么需要它?没有理由知道用户存储她的文件的位置。
如果您想阅读文件,请改用上传文件的Stream
属性。
答案 4 :(得分:0)
我在阅读了很多关于你无法访问的问题之后遇到了同样的问题
dlg.File.FullName相反,你可以使用这个
dlg.File.Name
通过这样做,您的例外将被删除
答案 5 :(得分:0)
如果您尝试从FileInfo访问CreationTime,也会发生错误。