C# 使用InputStream接收 解析表单参数
最近对接微信支付,需要给微信提供一个回调接口。
支付完成后微信会访问这个回调接口传递参数,可根据参数来判断是否支付成功;
一般情况下我们写接口,接受参数都是Request[""] ,Request.Form[""],或者直接一个对象放在FormBody里面吧。
微信请求接口将参数sign了,所有我们可以使用数据流来读取传递的主体参数,
代码如下:
Stream s = Request.InputStream;
int count = 0;
byte[] buffer = new byte[1024];
StringBuilder builder = new StringBuilder();
while ((count = s.Read(buffer, 0, 1024)) > 0)
{
builder.Append(Encoding.UTF8.GetString(buffer, 0, count));
}
s.Flush();
s.Close();
s.Dispose();
string queryData = HttpUtility.UrlDecode(builder.ToString());
或者
string queryData = string.Empty;
using (StreamReader sr = new StreamReader(Request.InputStream))
{
queryData = sr.ReadLine();
}
queryData = HttpUtility.UrlDecode(queryData);
读取后,再对字符串进行解析,操作。
浙公网安备 33010602011771号