使用MultipartFormDataStreamProvider获取在Webapis上指定密钥的表单数据

时间:2015-12-01 15:21:31

标签: asp.net-mvc asp.net-web-api multipartform-data

我目前正在使用此代码使用web apis和MultipartFormDataStreamProvider获取表单数据

   await Request.Content.ReadAsMultipartAsync(provider);

            // This illustrates how to get the form data.
            foreach (var key in provider.FormData.AllKeys)
            {
                foreach (var val in provider.FormData.GetValues(key))
                {
                    sb.Append(string.Format("{0}: {1}\n", key, val));
                }
            }

是否可以获取不使用foreach循环但是指定密钥的表单数据?使用类似这样的东西var name = Form [“txtFormValue”];

我已经尝试过string r = provider.FormData。(“form-email”);但它返回null。

1 个答案:

答案 0 :(得分:1)

您可以直接调用GetValues()方法获取特定键的值,并将其传递给您想要值的键。

EX:

string email = provider.FormData.GetValues("form-email").SingleOrDefault();

.SingleOrDefault();被调用是因为GetValues()返回一个集合(多个项目),而您只想要一个。