WPF FlowDocument отображает *некоторые* изображения, но не другие

Это код, который я использую для создания Image, который я вставляю в FlowDocument.

private static Image GetImage(string url)
{
   if (url == null) throw new ArgumentNullException("url");

   if (!(url.StartsWith("http://") || url.StartsWith("https://") || url.StartsWith("ftp://")))
            return null;

   var uri = new Uri(url, UriKind.Absolute);
   var bmpImg = new BitmapImage(uri)
   {
      CacheOption = BitmapCacheOption.OnDemand,
   };
   if (bmpImg.CanFreeze) bmpImg.Freeze();

   var img = new Image
   {
      Source = bmpImg,
      Stretch = Stretch.Uniform,
      Height = 120,
      Width = 120,
   };

   return img;
}

Когда я создаю документ и вставляю изображение с моего сервера с помощью

Designer.CaretPosition.Paragraph.Inlines.Add(image);

все работает нормально - изображение отображается как положено. Кроме того, основное изображение логотипа Google работает нормально, но логотип HackaDay и другие просто отображают пустое изображение.

Что может быть причиной этого?


person Scott Baker    schedule 06.01.2016    source источник
comment
Я думаю, что некоторые веб-сайты имеют предотвращение горячих ссылок. Это может быть причиной тому.   -  person ganchito55    schedule 06.01.2016
comment
@ganchito55 похоже, что все. Отправьте как ответ, и я приму.   -  person Scott Baker    schedule 03.03.2016
comment
Спасибо за ответ :)   -  person ganchito55    schedule 04.03.2016


Ответы (1)


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

person ganchito55    schedule 04.03.2016