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

Get form data specifying the key on Webapis using MultipartFormDataStreamProvider

我目前正在使用此代码通过网络 API 和 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");但它 returns 无效。

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

EX:

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

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