【问题标题】:Silverlight Windows Phone 7: Load Images From URLSilverlight Windows Phone 7:从 URL 加载图像
【发布时间】:2010-03-16 14:35:06
【问题描述】:

我得到下面的代码,它试图从 web 加载图像到图像控件中,当我运行它时,我在给定的行上收到一个错误,即不允许网络访问:

private void button1_Click(object sender, RoutedEventArgs e)
        {
            WebClient webClientImgDownloader = new WebClient();
            webClientImgDownloader.OpenReadCompleted += new OpenReadCompletedEventHandler(webClientImgDownloader_OpenReadCompleted);
            webClientImgDownloader.OpenReadAsync(new Uri("http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/80000/5000/100/85108/85108.strip.print.gif", UriKind.Absolute));
        }

        void webClientImgDownloader_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
        {
            BitmapImage bitmap = new BitmapImage();
            bitmap.SetSource(e.Result); // ERROR HERE!
            image1.Source = bitmap;
        }

适用于 Windows Phone 7 的 Silverlight

【问题讨论】:

标签: silverlight windows-phone-7


【解决方案1】:

尝试使用 WebClient 下载内容需要源服务器上存在客户端访问策略文件。对于图像,您可以通过这样做来避免此要求:-

private void button1_Click(object sender, RoutedEventArgs e)
{
    Uri uri = new Uri("http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/80000/5000/100/85108/85108.strip.print.gif", UriKind.Absolute)
    image1.Source = new BitmapImage(uri);
}

【讨论】:

  • @Jacob:当时我没有注意到这是一个 Gif。答案是否定的,它不支持 gif。它确实适用于 Lennie 修改后的 URL。
【解决方案2】:

我看到您正在从Dilbert.com 检索图像,该站点是否有跨域策略文件?

【讨论】:

  • Windows Phone 7 Silverlight 应用程序不需要跨域策略此限制已删除,发布此问题和回复时不知道,认为这可能对其他人有用 - 它仍然没有虽然不支持 GIF。
【解决方案3】:

Silverlight 不支持 GIF 只支持 JPG,所以我写道:

www.lenniedevilliers.net/displaygif.aspx?link=http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/80000/5000/100/85108/85108.strip.print.gif

displaygif.aspx 页面将 GIF 转换为 JPG。

【讨论】:

  • 如果您仍然觉得有必要使用 WebClient,这也将解决客户端访问策略问题。
【解决方案4】:

你能给我们完整的异常堆栈跟踪吗?错误可能是您的手机模拟器无法访问互联网,也可能是 dilbert 服务器上的图像不允许并非来自其站点的匿名请求......因此解决方案的指导会有所不同:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-27
    • 2013-02-05
    • 2011-06-14
    • 2012-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多