C# 使用InputStream接收 解析表单参数

一般情况下,我们接收表单参数都是使用 Request[""] ,Request.Form[""]。

其实可以使用另一种方式:使用数据流来读取传递的主体参数,

代码如下: 

1
2
3
4
5
6
7
8
9
10
11
12
13
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());

或者

1
2
3
4
5
6
string queryData = string.Empty;
using (StreamReader sr = new StreamReader(Request.InputStream))
{
    queryData = sr.ReadLine();
}
queryData = HttpUtility.UrlDecode(queryData);

读取后,再对字符串进行解析,操作。  

posted @ 2020-09-22 16:01  星畔  阅读(3315)  评论(0编辑  收藏  举报