Открыть файл в Silverlight 4 Работа с файлом запрещена - PullRequest
1 голос
/ 16 мая 2011

У меня есть веб-приложение Silverlight (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 ]

2 голосов
/ 16 мая 2011

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

1 голос
/ 24 декабря 2013
  1. В Silverlight 4 невозможно получить доступ к свойству FullName , это является причиной исключения: " Операция с файлом запрещена Доступ к пути запрещен "Я стараюсь изо всех сил, но не могу найти способ получить полный путь к выбранному файлу без создания приложения OOB .

  2. При отладке проекта Silverlight, если вы разместитеточка останова где-нибудь до dlg.ShowDialog () , в случае вашего кода это вызовет исключение: " Диалоги должны инициироваться пользователем " Простой способ избежать этого исключения -установите точку останова после ShowDialog () строки.

0 голосов
/ 29 мая 2014

Ошибка также возникает, если вы пытаетесь получить доступ к CreationTime из FileInfo.

0 голосов
/ 24 апреля 2013

У меня возникла та же проблема, после прочтения этой проблемы, к которой у вас нет доступа

dlg.File.FullName 
Вместо этого вы можете использовать это
 dlg.File.Name 

при этом ваше исключение будет удалено

0 голосов
/ 16 мая 2011

Вы не можете получить полное имя файла. И во всех случаях, зачем вам это нужно? Нет причин знать, где пользователь хранит свои файлы.

Если вы хотите прочитать файл, используйте вместо него свойство Stream загруженного файла.

0 голосов
/ 16 мая 2011

Насколько я знаю, вам не разрешен доступ к пользовательским файлам, если у вас нет повышенных разрешений.

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