OwinContext.Request多部分/表单数据解析?

时间:2015-05-22 20:20:56

标签: forms owin multipartform-data

是否有一种简单的方法可以解析 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 一样简单,但似乎还有更多工作要做。

如果有人对此有任何见解,请告诉我。否则,如果我看到主要内容类型是多部分/表单数据,我可能最终会一起破解密钥名称。

0 个答案:

没有答案