从HTTP响应中显示PictureBox中的图像(image / jpeg)

时间:2013-08-11 20:07:10

标签: c# image jpeg content-type

所以我需要向PHP页面发送请求,该页面返回一个图像,不能直接使用URL读取(它可以,但它在技术上只包含图像数据,而不是以.jpg结尾的页面) )...

因此我需要从响应中读取图像(返回页面给我的Content-Type: image/jpeg,它直接显示图像数据(当您在记事本中打开图像时 - 由符号组成.... )

如何将此图像数据转换为有效图像?

我尝试使用响应中的字节将这些字节转换为图像;用这个:

    private Bitmap ByteToImage(byte[] blob)
    {
        MemoryStream mStream = new MemoryStream();
        byte[] pData = blob;
        mStream.Write(pData, 0, Convert.ToInt32(pData.Length));
        Bitmap bm = new Bitmap(mStream, false);
        mStream.Dispose();
        return bm;
    }

byte[] imageBytes = Encoding.UTF8.GetBytes(post(imagelink, ""));

但那只给了我一个ArgumentException。

1 个答案:

答案 0 :(得分:0)

您可以使用WebClientHttpWebRequestHttpClient 下载图片

using (WebClient wc = new WebClient())
{
    var img = ByteToImage(wc.DownloadData(url));
}