------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="_csrf_token_"
1davo7eero_ir
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="action"
post_wholesale_product_action
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="event_submit_do_post"
anything
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="_fmw.w._0.i"
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="_fmw.w._0.s"
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="_fmw.w._0.sr"
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="_fmw.w._0.c"
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="_fmw.w._0.m"
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="_fmw.w._0.me"
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="_fmw.w._0.r"
POST DATA如上,有没有办法,像使用Request那样根据上面的字符串获取到对应的键值对?
------解决思路----------------------
http://www.codeproject.com/Articles/19777/MIME-Compliant-Parser
http://www.codeproject.com/Articles/11882/Advanced-MIME-Parser-Creator-Editor
------解决思路----------------------
http://blog.csdn.net/starfd/article/details/45393089
await Request.Content.ReadAsMultipartAsync(provider);
// This illustrates how to get the file names.
foreach (MultipartFileData file in provider.FileData)
可以查下MVC源代码是如何实现这部分的
------解决思路----------------------
自己写段代码不就行了?
在
------WebKitFormBoundarybhRlHvHKBvmXJE79
Content-Disposition: form-data; name="_csrf_token_"
1davo7eero_ir
中
------WebKitFormBoundarybhRlHvHKBvmXJE79 是字段分隔符,每次传输都可能不一样,但在你没贴出的部分有声明,看一下就知道
Content-Disposition: form-data; name="_csrf_token_"
表示一个变量,你关心的只是 name 的值
在两对 \r\n 之后是正文,也就是那个 1davo7eero_ir,是变量的值
该区域直到下一个分隔符出现处结束
------解决思路----------------------
你这个是upload文件吧。
------解决思路----------------------
流程规则是这样的:
1. 读取http消息头ContentType中的“boundary=”后边的信息,记为 boundary 变量。
2. 读取消息的 ContentEncoding 编码格式,记为 Encoding 变量。
3. 将 Encoding.GetBytes("--" + boundary + "\r\n") 记为参数分隔标志。
4. 5. 将 Encoding.GetBytes("--" + boundary + "--\r\n") 记为最后一个参数的结束标志。
4. 将 Encoding.GetBytes("Content-Disposition: form-data; name=\"") 记为参数说明行的开始标志,查找这一行中的参数名。
5. 在4.之后是换行回车之后,然后是参数的内容(byte[ ])。
实际上这是很简单的解析。只不过要注意,要使用二进制 byte 方式来匹配参数的“起止”和“值”的位置,千万不要把输入做为 unicode 字符串来处理。
------解决思路----------------------
看上去结构不复杂,取得文本后解析下不难吧。
------解决思路----------------------
看了,写得挺好的,收藏了,你有进步。