Как получить поток kml с локальной машины

Я просто не могу заставить 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 был ""/mapsource/wildlife.kml", что неверно, и я получил исключение из StreamResourceInfo:

"Неподдерживаемый синтаксис URI. Метод ожидает относительный URI или форму pack://siteoforigin:,,,/ абсолютного URI"

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

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


person Ikky    schedule 03.02.2011    source источник


Ответы (1)


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

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

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

FileStream stream = File.Open("c:/mapsource/wildlife.kml", FileMode.Open, FileAccess.READ))
person Daniel Freire    schedule 03.02.2011