小编use*_*247的帖子

MultipartMemoryStreamProvider并从MultiPart / Form数据读取用户数据

我有一个文件和用户数据,这些文件和用户数据已从Multipart / form数据发布到apicontroller类中的post方法。我能够毫无问题地读取文件,但无法读取用户数据。

我尝试了几种方法,例如使用模型绑定,在post方法中将各个字段作为方法参数传递,但是我得到:没有MediaTypeFormatter可从媒体类型为“ multipart / form-data”的内容中读取“ FormDataCollection”类型的对象'。

var provider = await Request.Content.ReadAsMultipartAsync(new MultipartMemoryStreamProvider());
foreach (var item in provider.Contents)
{
    var fieldName = item.Headers.ContentDisposition.Name.Trim('"');
    if (item.Headers.ContentDisposition.FileName == null)
    {
        var data = await item.ReadAsStringAsync();
        if (fieldname == "name")
        { 
            Name = data;
        }
        else
        {
            fileContents = await item.ReadAsByteArrayAsync();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

html asp.net-mvc-4 asp.net-web-api asp.net-web-api2

1
推荐指数
2
解决办法
5650
查看次数