Как вы получаете от байта [] или из MemoryStream в System.Windows.Controls.Image в WP7? - PullRequest
0 голосов
/ 18 апреля 2011

Мне нужно сделать запрос GET, который требует oauth, для и изображения для отображения на странице. Есть ли способ сделать это без создания пользовательского веб-запроса или httpwebrequest?

1 Ответ

0 голосов
/ 18 апреля 2011

Если это изображение, убедитесь, что вы читаете поток как двоичные данные.

Что-то вроде:

var httpRequest = (HttpWebRequest)ar.AsyncState;
var httpResponse = (HttpWebResponse)httpRequest.EndGetResponse(ar);

int lengthInBytes = Convert.ToInt32(httpResponse.ContentLength);
BinaryReader br = new BinaryReader(httpResponse.GetResponseStream());
byte[] imageInBytes = new byte[lengthInBytes]; 
using (br)
{
    for (int i = 0; i < lengthInBytes; i++)
    {
        imageInBytes[i] = br.ReadByte();
    }
}

DispatcherHelper.CheckBeginInvokeOnUI(() =>
{
    MemoryStream rawBytesStream = new MemoryStream(imageInBytes);
    BitmapImage img = new BitmapImage();

    img.SetSource(rawBytesStream);
    imageInUI.Source = img;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...