У меня есть приложение Silverlight 4, работающее внутри браузера без повышенных разрешений, и в нем у меня есть раздел функций загрузки файлов, где появляется окно OpenFileDialog, и вы можете выбрать файлы, которые хотите загрузить, и сохранить файлы в базе данных.
Проблема в том, что приложение действительно может получить доступ к файлам за пределами папок профиля пользователя, что не разрешено политикой безопасности silverlight.
private Asset ReadAsset(FileInfo fileInfo)
{
byte[] fileBuffer;
using (FileStream fileStream = fileInfo.OpenRead()) //This line works from any location
{
using (BinaryReader binaryReader = new BinaryReader(fileStream))
{
fileBuffer = binaryReader.ReadBytes((int)fileStream.Length);
binaryReader.Close();
}
fileStream.Close();
}
DirectoryInfo di = fileInfo.Directory; //This line doesn't work
}
Это фактически ПРОЧИТАЙТЕ файлы независимо от их местоположения (я мог бы даже прочитать файл в папке system32), и у меня нет средств, чтобы получить папку «Мои документы» или «Документы», потому что даже. Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
Не работает. Короче говоря. Я могу читать байты из любого файла в любом месте, чего не должны делать приложения Silverlight, запущенные в браузерах.
Любая помощь будет оценена по достоинству.