2016-01-06 3 views
0

Это код, который я использую для создания Image, который я вставляю в FlowDocument.WPF 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); 

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

В чем причина этого?

+1

Я думаю, что некоторые сети имеют [hotlink prevent] (http://www.htaccesstools.com/hotlink-protection/). Это может быть причиной этого. – ganchito55

+0

@ ganchito55 выглядит вот так. Отправьте ответ, и я соглашусь. –

+0

спасибо за ваш ответ :) – ganchito55

ответ

0

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

Смежные вопросы