C#接收post流数据
时间: 2023-08-15 17:06:48 浏览: 187
C#使用post发送和接收数据的方法
在 C# 中接收 POST 请求的流数据,可以使用 `System.IO.Stream` 类型的参数来接收请求体中的数据。以下是一个简单的示例:
```csharp
using System.IO;
using System.Net;
using System.Text;
public class MyController : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.Request.HttpMethod == "POST")
{
// 读取请求体中的数据
using (var reader = new StreamReader(context.Request.InputStream, Encoding.UTF8))
{
var body = reader.ReadToEnd();
// 处理接收到的数据
}
}
}
public bool IsReusable
{
get { return false; }
}
}
```
在以上示例代码中,我们定义了一个 `MyController` 控制器,并实现了 `IHttpHandler` 接口。当收到 POST 请求时,我们使用 `StreamReader` 类型的对象来读取请求体中的数据。`context.Request.InputStream` 属性获取了请求体的输入流,`Encoding.UTF8` 指定了读取流时使用的字符编码。然后,我们可以使用 `ReadToEnd` 方法将流中的数据读取出来。
读取出来的数据可以根据实际需要进行处理。例如,如果请求体中是 JSON 数据,我们可以使用 `JsonConvert.DeserializeObject` 方法将其转换为 C# 对象。或者,如果请求体中是二进制数据,我们可以对其进行解码或者保存到文件中。
阅读全文