从HttpListenerRequest获取表单数据

来源:互联网 发布:淘宝客怎么获取淘口令 编辑:程序博客网 时间:2024/05/14 18:41

从HttpListenerRequest获取表单数据



c#表单forms post 数据data httplistenerrequest
我这是从被张贴发起HttpListenerRequest。我需要知道如何让发布表单值+上传的文件。有谁知道一个例子,在这样做是为了我自己吗?我有一个谷歌的周围,但没有发现任何东西
本文地址 :CodeGo.net/266293/
-------------------------------------------------------------------------------------------------------------------------
1. 最主要的是要明白的是,HttpListener会是一个低层次的工具与http请求的工作。所有邮政局的数据是在HttpListenerRequest.InputStream流。假设我们有一个这样的表单:
<form method=\"post\" enctype=\"multipart/form-data\"><input id=\"fileUp\" name=\"fileUpload\" type=\"file\" /><input type=\"submit\" /></form>
现在,我们希望看到帖子的数据。让我们这样做:
public static string GetRequestPostData(HttpListenerRequest request){ if (!request.HasEntityBody) { return null; } using (System.IO.Stream body = request.InputStream) // here we have data { using (System.IO.StreamReader reader = new System.IO.StreamReader(body, request.ContentEncoding)) {  return reader.ReadToEnd(); } }}
上传文件,看看结果:
Content-Disposition: form-data; name="somename"; filename="D:\Test.bmp" Content-Type: image/bmp...here is the raw file data...
接下来假设我们有简单的表单,没有上传文件:
<form method=\"post\">First name: <input type=\"text\" name=\"firstname\" /><br />Last name: <input type=\"text\" name=\"lastname\" /><input type=\"submit\" value=\"Submit\" /></form>
让我们来看看输出:
firstname=MyName&lastname=MyLastName
结合表单的结果:
Content-Disposition: form-data; name="firstname"My NameContent-Disposition: form-data; name="somename"; filename="D:\test.xls"Content-Type: application/octet-stream...raw file data...
正如你可以在案件的简单表单看你可以InputStream中读取字符串和解析后的值。如果有一种表单-你需要执行的解析,但它仍然是可以做到的。希望这个例子将保存您的注意,那就是并非总是如此读取所有流作为一个字符串。
本文标题 :从HttpListenerRequest获取表单数据
本文地址 :CodeGo.net/266293/
0 0
原创粉丝点击