图片下载PC和WP7之间的区别

时间:2012-12-06 01:26:04

标签: windows-phone-7 download image

在WP7中,我尝试从雅虎下载图片,例如:

http://chart.finance.yahoo.com/z?s=PLX12.NYM&t=1d&q=l&l=on&z=m&a=v&p=s

在我的电脑上按预期工作,但不能在我的Windows手机上工作,如果我在我的应用程序中执行此操作,或者只是直接在WP7浏览器中执行操作,则没有区别。你可以自己尝试一下。在WP7 / 8仿真器上,它有时可以工作,但并非总是如此。 在WP7中,参数的解释与我的PC不同。任何人都知道这是什么原因?

感谢您的帮助

汉诺

1 个答案:

答案 0 :(得分:0)

我很快把它扔到一起,它在我的Win8模拟器和我的Windows Phone 7.1上工作。只需要设置useragent来欺骗雅虎认为我们是桌面;)

public void LoadImage(Image imageControl, string imageUrl)
{
    WebClient client = new WebClient();
    client.Headers["UserAgent"] = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
    client.OpenReadCompleted += new OpenReadCompletedEventHandler(OpenReadCompleted);
    client.OpenReadAsync(new Uri(imageUrl, UriKind.Absolute)); 
}

private void OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    BitmapImage image = new BitmapImage();  
    image.SetSource(e.Result);
    imageControl.Source = image;
}

然后,您可以使用图像控件(在页面上)和网址随时随地调用该功能。我使用了这个,因为你的似乎是无效的: http://chart.finance.yahoo.com/z?s=MSFT&t=1d&q=l&l=on&z=m&a=v&p=s

编辑: 从lambda表达式中删除了完整的函数并赋予它自己的功能。懒得多。