发布图像

时间:2013-01-08 23:28:09

标签: c# asp.net asp.net-mvc asp.net-mvc-3

您好我正在尝试发布图片,但我必须遗漏一些东西,因为我得到的只是一个字符串作为回报。这是我的代码:

    @using( Html.BeginForm("Create", "ProductManager", FormMethod.Post,new{enctype="multipart/form-data"})){
        <input type="file" class="text-box single-line" id="ProductImagePath" name="ProductAvatar" />           
     }

    [HttpPost]
    public ActionResult Create(  FormCollection collection)
    {
        var imagePosted = collection["ProductAvatar"]; 
    }

imagePosted只返回null。我做错了什么?

1 个答案:

答案 0 :(得分:1)

您是否尝试过查看您向控制器发布的内容?打开开发人员工具/ FireBug并预览。在Chrome中,您可以看到类似于以下内容的内容:

------WebKitFormBoundaryWKyJnLI9EtN9Hqca
Content-Disposition: form-data; name="ProductAvatar"; filename="default.jpg"
Content-Type: image/jpeg

确保文件输入的name参数与HttpPostedFileBase输入参数的名称相同。确保您没有其他具有相同名称的输入。

最后,在Debug中运行您的项目。在你的行动上设一个断点。转到立即窗口。闲逛。看看

 Request.Files

对你有好处;)

祝你好运:)