是否有一种简单的方法可以解析 OwinContext.Request 实例中的多部分/表单数据信息?
我知道如何使用 HttpContext.Current.Request.Form.Get()执行此操作,但我不确定我是否真的想在Owin管道中执行此操作。
我知道我可以使用 .ReadFormAsync()来获取 IFormCollection ,这似乎适用于标准提交,但使用多部分/发布边界值,内容类型和变量名称的表单数据都将进入密钥。所以我不能只做 formVars.Get(“VariableName”),因为它不是变量名,而是复合词。看起来不应该这样做虽然......对吗?
public AppFunc PreAuthMiddleware(AppFunc next) {
AppFunc appFunc = async (IDictionary<string, object> environment) => {
IOwinContext context = new OwinContext(environment);
IFormCollection formVars = await context.Request.ReadFormAsync();
... Now What ...
await next.Invoke(environment);
};
return appFunc;
}
我希望访问表单变量和文件数据就像使用 HttpContext 一样简单,但似乎还有更多工作要做。
如果有人对此有任何见解,请告诉我。否则,如果我看到主要内容类型是多部分/表单数据,我可能最终会一起破解密钥名称。