Невозможно открыть openfileDialog в Silverlight - PullRequest
1 голос
/ 03 марта 2011

Я хочу использовать openfiledialog для загрузки файла, но когда я пишу следующий код, возникает исключение безопасности: «Диалоги должны быть инициированы пользователем».

btn_click()
{
  OpenFileDialog fileDialog=new OpenFileDialog();            
  fileDialog.Multiselect = false;
  fileDialog.Filter = "All Files|*.*";
  bool? retval = fileDialog.ShowDialog();   
  if (fileDialog.ShowDialog()==false){ 
    Stream strm = fileDialog.File.OpenRead();
    byte[] Buffer = new byte[strm.Length];
    strm.Read(Buffer, 0, (int)strm.Length);
    strm.Dispose();
    strm.Close();
    Uploadfile file=new Uploadfile(); 
    file.FileName = fileDialog.File.Name;
    file.File = Buffer; 
    po.fileUploadAsync(file);
  }

Ответы [ 2 ]

1 голос
/ 03 марта 2011

В качестве исключения, которое вы получаете, говорится, что диалог открытия файла может быть активирован только из инициированного пользователем действия, когда приложение запускается в браузере и с ограниченным доверием.

Чего вы пытаетесь достичь?

Самое простое решение - добавить в пользовательский интерфейс кнопку, позволяющую пользователю контролировать, когда происходит этот процесс.

0 голосов
/ 29 апреля 2011
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Text Files (*.txt)|*.txt";

if (dlg.ShowDialog() == DialogResult.OK){ 

   using (StreamReader reader = dlg.SelectedFile.OpenText())   
     // Store file content in 'text' variable      
  string text = reader.ReadToEnd();   
 }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...