我需要在Windows phone7 appplication上从此API获取图像,
getvmsimg
描述:
API for get variable message sign (VMS) as img
URL:
http://athena.traffy.in.th/apis/apitraffy.php?api=…&id=…[w=...]&[h=...]
格式:
Image: PNG
HTTP方法:
GET
需要身份验证:
true
API费率限制:
unlimited
这是我的代码 我必须首先通过另一个API获取会话密钥(完全没问题),然后我必须使用会话密钥作为httpget url中的参数。 我的钥匙正确100%,我已经检查过了。 但它错误在“image.SetSource(e.Result);”行(未指定错误)。
public intsign()
{
InitializeComponent();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(new Uri("http://api.traffy.in.th/apis/getKey.php?appid="+appid));
}
void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
rd = e.Result;
sessionkey = MD5Core.GetHashString(appid + rd) + MD5Core.GetHashString(hiddenkey + rd);
//MessageBox.Show(sessionkey);
client2.OpenReadCompleted += new OpenReadCompletedEventHandler(client2_OpenReadCompleted);
client2.OpenReadAsync(new Uri("http://athena.traffy.in.th/apis/apitraffy.php?api=getvmsimg&key=" + sessionkey + "&appid=" + appid + "&id=1&h=480&w=480"),client2);
}
void client2_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
BitmapImage image = new BitmapImage();
image.SetSource(e.Result);
intsignimg.Source = image;
}
thx,伙计
答案 0 :(得分:0)
您是否尝试将整个流(带缓冲区或其他)写入 MemoryStream ,然后使用该MemoryStream而不是直接使用生成的流?