Как получить поток кмл с локальной машины - PullRequest
1 голос
/ 03 февраля 2011

Я просто не могу получить streamResource для получения файла с моего компьютера.Сначала я попробовал

Application.GetResourceStream

Но обнаружил, что мне нужно использовать

Application.GetRemoteStream

Итак, я попробовал:

Uri uriAdress = new Uri("file:///c:/mapsource/wildlife.kml", UriKind.RelativeOrAbsolute);
StreamResourceInfo streamResource = Application.GetRemoteStream(uriAdress);

Но получил исключение, сообщающее мнечто GetRemoteStream ожидает относительный URI или пакет; // siteoforigin:

Я искал вокруг и обнаружил, что это должно быть действительно просто, поэтому моя последняя попытка была:

Uri uriAdress = new Uri("pack://siteoforigin:c:/mapsource/wildlife.kml", UriKind.RelativeOrAbsolute);
StreamResourceInfo streamResource = Application.GetRemoteStream(uriAdress);

Я получилчто URI localpath был "" /mapsource/wildlife.kml ", что неверно, и я получил исключение из StreamResourceInfo:

" Неподдерживаемый синтаксис URI.Метод ожидает относительный URI или пакет: // siteoforigin: ,,, / form of absolute URI "

Кто-нибудь понял, что я делаю неправильно?

Спасибозаранее

1 Ответ

2 голосов
/ 03 февраля 2011

Application.GetResourceStream для файлов, которые находятся в приложении.

Application.GetRemoteStream для файлов, расположенных на сервере, на котором было развернуто приложение.

Почему бы не использовать FileStream?

FileStream stream = File.Open("c:/mapsource/wildlife.kml", FileMode.Open, FileAccess.READ))
...