gpt4 book ai didi

c# - 读取 MVC 4 Web Api 多部分数据

转载 作者:太空狗 更新时间:2023-10-29 22:53:07 27 4
gpt4 key购买 nike

我正在向我的 WebApi Controller 发送多部分表单数据。我感兴趣的内容包括图像和另一个非图像值。我可以毫无问题地读取图像,但无法弄清楚如何读取 username 部分(以 andy 作为值)。它不在提供程序的 FormData 属性中。我怎样才能得到它?

多部分表单数据

------------ei4KM7KM7ae0GI3Ef1gL6ei4ae0ae0
Content-Disposition: form-data; name="Filename"

image.jpg
------------ei4KM7KM7ae0GI3Ef1gL6ei4ae0ae0
Content-Disposition: form-data; name="username"

andy
------------ei4KM7KM7ae0GI3Ef1gL6ei4ae0ae0
Content-Disposition: form-data; name="Filedata"; filename="image.jpg"
Content-Type: application/octet-stream


------------ei4KM7KM7ae0GI3Ef1gL6ei4ae0ae0
Content-Disposition: form-data; name="Upload"

Submit Query
------------ei4KM7KM7ae0GI3Ef1gL6ei4ae0ae0--

Controller 代码

string root = System.Web.HttpContext.Current.Server.MapPath("~/App_Data");
MultipartFormDataStreamProvider provider = new MultipartFormDataStreamProvider(root);

var task = request.Content.ReadAsMultipartAsync(provider).ContinueWith<HttpResponseMessage>(o =>
{
...
}

最佳答案

关于这个有一篇很好的文章here

您的 provider 变量应该有一个名为 FormData 的 NameValueCollection 属性。因此,您应该能够执行以下操作:

string username = provider.FormData.GetValues("username").SingleOrDefault();

注意。我必须更新我的引用才能看到 FormData 属性。我的 RC 版本是:Microsoft.AspNet.WebApi.Client.4.0.20505.0 使用 Nuget 更新所有 WebApi 和 MVC 4 引用给了我 Microsoft.AspNet.WebApi.Client.4.0.20710.0。

关于c# - 读取 MVC 4 Web Api 多部分数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12032267/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com