Никогда нельзя получить полное имя из файла с помощью Silverlight OpenFileDialog?

StackOverflow https://stackoverflow.com/questions/1378902

Вопрос

Я хочу получить полное имя файла в Silverlight OpenFileDialog, когда я пытаюсь это сделать, Silverlight выдает мне ошибку.

Я видел атрибут FullName, говорящий, что это [КРИТИЧЕСКАЯ БЕЗОПАСНОСТЬ], но мне нужно отобразить полный путь, неужели я не могу это сделать?

Это было полезно?

Решение

OpenFileDialog не предоставит полное имя просто потому, что не хочет, чтобы вы изменяли эти файлы.При использовании Silverlight у вас есть доступ только к изолированному хранилищу, и файл может находиться за пределами этого хранилища.Но ты мог бы просто откройте файл и скопируйте его в изолированное хранилище и измените его там.
Только что обнаружил, что друг баса тоже нашел эту ссылку и разместил ее выше.Виноват.Опять же ссылка в топ-20 Google.:-)

Другая причина, по которой вы не получите полное имя файла, заключается в том, что это имя файла может содержать конфиденциальную информацию.Например, файл в папке «Мои документы» может содержать имя пользователя для входа.

По сути, это ограничение безопасности.Вы не должны обходить его, даже если это возможно.Если бы вы нашли способ обойти эту проблему, MS, вероятно, выпустила бы обновление безопасности, чтобы снова закрыть эту утечку...

Другие советы

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

Попробуйте использовать свойство File, как описано здесь:Пример, MSDN

По соображениям безопасности поведение Silverlight OpenFileDialog отличается от стандартных форм OFD.Если вы извлекаете SelectedFile, он фактически возвращает филедиалогфилеинформо объект, который содержит Имя файла, а не путь к файлу.Если подумать, это имеет смысл: вы не хотите, чтобы кто-то написал фрагмент вредоносного кода, который может получить доступ к вашей файловой системе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top