Загрузка изображения с локального хоста не работает на silverlight - PullRequest
0 голосов
/ 16 марта 2011

Я делаю простое приложение Silverlight.

Мне нужно получить доступ и использовать изображение с локального хоста,

Я записываю свой код следующим образом

Book4.Source = newBitmapImage (новый Uri ("http://localhost/test/book2.png", UriKind.Absolute));

Он не делает никаких ошибок, но не может загрузить любое изображение.

// PS Я не сделал"t использовать asp. Это приложение OOB.

* РЕДАКТИРОВАНИЕ: Включить дополнительный контент для вопроса.

 public void changeValue_book()
        {
            if (empty_book[3] == true && book_index == 3)
            {
                empty_book[3] = false;
                Book4.Visibility = Visibility.Visible;
                Book3.Visibility = Visibility.Visible;

            Book3.Source = null;
            Book3.Source = new BitmapImage(new Uri("http://localhost/test/book1.png", UriKind.Absolute));
            //Book3.Source = new BitmapImage(new Uri("Resource/책1.png", UriKind.Relative));
        }
        else if (empty_book[4] == true && book_index == 4)
        {
            empty_book[4] = false;
            Book5.Visibility = Visibility.Visible;
            Book4.Visibility = Visibility.Visible;

            Book4.Source = new BitmapImage(new Uri("http://localhost/test/book2.png", UriKind.Absolute));
        }
        else if (empty_book[5] == true && book_index == 5)
        {
        }
    }

Ответы [ 2 ]

0 голосов
/ 16 марта 2011

Возможно, это проблема clientaccesspolicy.xml.Если адрес сайта, на котором загружен SL, отличается от адреса, с которого вы хотите загрузить данные, он может быть заблокирован.Этот файл clientaccesspolicy.xml также должен указывать, что SL может углубляться в подкаталоги.( здесь является некоторым примером).

Теперь я понимаю, что эта проблема вызовет какую-то ошибку междоменной политики ...
В любом случае, проверьте это тоже, просто чтобы быть уверенным.

0 голосов
/ 16 марта 2011

Если вы можете получить доступ к ожидаемому изображению из веб-браузера при переходе к http://localhost/test/book2.png, попробуйте следующее:

Uri uri = new Uri("http://localhost/test/book2.png", UriKind.Absolute);
ImageSource imageSource = new BitmapImage(uri);
Book4.Source = imageSource;

EDITED

Если изображения находятся на http://localhost/test/yourimagename.png,, но ваше приложение Silverlight размещено в https:// или в Файловая система , вы не сможете загрузить изображения на все. Класс Silverlight Image и класс MediaElement для прогрессивной загрузки (мультимедиа, изображения, ASX и т. Д.) Не допускают кросс-схемный доступ.

Пожалуйста, смотрите эту ссылку для более подробной информации:

http://msdn.microsoft.com/en-us/library/cc189008(v=vs.95).aspx

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