WP7: не удается получить img из URL-адреса httpget с помощью webclient.OpenReadAsync - PullRequest
3 голосов
/ 06 августа 2011

Мне нужно получить изображение из этого API в приложении Windows phone7,

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 (полностью, без проблем), а затем мне нужно использовать ключ сеанса в качестве параметра в URL-адресе httpget.мой ключ правильно на 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;
}

спасибо, парень

1 Ответ

0 голосов
/ 09 августа 2011

Вы пытались записать весь поток (с буфером или другим способом) в MemoryStream и затем использовать этот MemoryStream вместо непосредственного использования результирующего потока?

...