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

Xor*_*ist 5 forms multipartform-data owin

有没有一种简单的方法可以从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;
}
Run Code Online (Sandbox Code Playgroud)

我希望访问表单变量和文件数据就像使用HttpContext一样容易,但是似乎还有很多工作要做。

如果有人对此有任何见解,请告诉我。否则,如果我看到主要的内容类型是multi-part / form-data,那么我可能最终只会一起破解密钥名称。