小编ope*_*tes的帖子

ASP.NET MVC.如何创建接受和multipart/form-data的Action方法

我有一个Controller方法需要接受multipart/form-data客户端作为POST请求发送.表单数据有2个部分.一个是序列化的对象application/json,另一个是发送的照片文件application/octet-stream.我的控制器上有一个方法,如下所示:

[AcceptVerbs(HttpVerbs.Post)]
void ActionResult Photos(PostItem post)
{
}
Run Code Online (Sandbox Code Playgroud)

我可以在这里Request.File没有问题地获取文件.但是PostItem为null.不知道为什么?有任何想法吗

控制器代码:

/// <summary>
/// FeedsController
/// </summary>
public class FeedsController : FeedsBaseController
{
    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Photos(FeedItem feedItem)
    {
        //Here the feedItem is always null. However Request.Files[0] gives me the file I need  
        var processor = new ActivityFeedsProcessor();
        processor.ProcessFeed(feedItem, Request.Files[0]);

        SetResponseCode(System.Net.HttpStatusCode.OK);
        return new EmptyResult();
    }
Run Code Online (Sandbox Code Playgroud)

}

电线上的客户端请求如下所示:

{User Agent stuff}
Content-Type: multipart/form-data; boundary=8cdb3c15d07d36a

--8cdb3c15d07d36a
Content-Disposition: form-data; name="feedItem"
Content-Type: text/xml

{"UserId":1234567,"GroupId":123456,"PostType":"photos",
    "PublishTo":"store","CreatedTime":"2011-03-19 03:22:39Z"}

--8cdb3c15d07d36a …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc multipartform-data

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

标签 统计

asp.net-mvc ×1

multipartform-data ×1