Загрузить изображение не в xap Silverlight - PullRequest
1 голос
/ 09 апреля 2009

Я занимаюсь разработкой приложения и загружаю изображение, которое находится не в папке clientbin, а в папке на моем сервере Я бы сделал что-то подобное BitmapImage bit = new BitmapImage (); строка пути = "c: /image.png"; bit.UriSource = новый Uri (путь, UriKind.Absolute); identity.Source = bit; но это не работает. Есть идеи? Спасибо

Ответы [ 3 ]

1 голос
/ 09 апреля 2009

Попробуйте:

Image.Source = New Imaging.BitmapImage (Новый Uri ("http://www.Pic.jpg", UriKind.Absolute))

Вы не хотите включать его в свой проект, иначе .xap станет огромным.

0 голосов
/ 04 января 2017

Добавить к ответу Билла. Вы также можете использовать ресурсы на стороне сервера, используя следующий вспомогательный метод, который определяется на основе местоположения файла xap.

public static string GetUrlForResource(string resourcePage)
{

    var webUrl = Application.Current.Host.Source.ToString();
    //Get ClientBin Directory
    var stub = webUrl.Substring(0, webUrl.LastIndexOf("/"));
    //Get application root.
    stub = stub.Substring(0, stub.LastIndexOf("/") + 1);
    //Append the application root to the resource page.
    webUrl = stub + resourcePage;

    return webUrl;
}

Чтобы использовать его как ответ Билла, используйте следующее:

Image.Source = new Imaging.BitmapImage(new Uri(GetUrlForResource("images/myimage.png"), UriKind.Absolute));
0 голосов
/ 09 апреля 2009

Приложения Silverlight запускаются на клиенте, а не на сервере, поэтому ссылка на путь, который вы пытались сделать, действительно указала бы путь на клиентском компьютере, на котором запущено приложение. Однако Silverlight не имеет прав на чтение или запись с или на клиентский диск в любом случае из-за соображений безопасности. Функциональность изолированного хранилища является исключением из этого.

Поэтому вы можете попробовать первый ответ, данный Биллом или веб-сервисом, который более сложен для реализации.

И.Б..

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