- 返回流
//base64Date表示base64的字节流
public static Stream parsePIC(string base64Date)
{
try
{
string ocr = "http://127.0.0.1:8868/predict/ocr_system";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(ocr);
req.Method = "POST";
req.ContentType = "application/json";
string param = "{\"images\":[\"" + base64Date + "\"]}";
byte[] data = Encoding.UTF8.GetBytes(param);
req.ContentLength = data.Length;
using (Stream reqstream = req.GetRequestStream())
{
reqstream.Write(data, 0, data.Length);
reqstream.Close();
}
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
return stream;
}
catch (Exception ex)
{
throw ex;
}
}
- 返回字符集
public static string parsePICTostring(string base64Date)
{
StringBuilder sb = new StringBuilder();
try
{
string ocr = "http://127.0.0.1:8868/predict/ocr_system";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(ocr);
req.Method = "POST";
req.ContentType = "application/json";
string param = "{\"images\":[\"" + base64Date + "\"]}";
byte[] data = Encoding.UTF8.GetBytes(param);
req.ContentLength = data.Length;
using (Stream reqstream = req.GetRequestStream())
{
reqstream.Write(data, 0, data.Length);
reqstream.Close();
}
string results = "";
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
results = reader.ReadToEnd();
JObject jobject = JsonConvert.DeserializeObject<JObject>(results);
JArray jarray = (JArray)jobject.GetValue("results").First;
foreach (JObject item in jarray)
{
sb.Append(item.GetValue("text"));
}
}
}
catch (Exception ex)
{
throw ex;
}
return sb.ToString();
}
说明:本人开发的环境是在core环境下,其中JObject与JArray类型引用的nuget包文件为Microsoft.AspNetCore.Mvc.NewtonsoftJson而
HttpWebRequest与HttpWebResponse都是引用的system.net