如何使用WebClient.UploadString方法下载图像?

时间:2015-02-27 15:08:33

标签: c# asp.net json image webclient

我希望通过向API发送json数据来获取图像。我使用WebClient下载图像。

string URI = "http://my_api.com";
string myParameters = "{'my': 'json_object'}";

using (WebClient wc = new WebClient())
{
    wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
    string HtmlResult = wc.UploadString(URI, myParameters);
}

UploadString方法的返回类型是字符串。如何将此结果转换为ContentType:image / jpeg?

1 个答案:

答案 0 :(得分:0)

要将字符串转换为jpg,您需要将字符串转换为byte [] ...但我问为什么不使用WebClient.DownloadFile?

using (WebClient w = new WebClient())
{
    //add user agent string
    w.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
    //download to disk
    w.DownloadFile(uri, savePath);
}

我还添加了一个用户代理字符串,表明Google Chrome是标题,因为有些服务器会根据此情况阻止请求,并返回HTTP禁止错误。