none
asp.net mvc 提交表单中包括上载文件 RRS feed

  • 问题

  • <p>
                    <label for="Url">Url:</label>
                    <input name="Url" type="text" maxlength="255" />
                    <%= Html.ValidationMessage("Url","*") %>
                </p>
                <p>
                    <label for="ImagePath">ImagePath:</label>
                    <input id="ImagePath" name="ImagePath" type="file" runat="server" />
                    <%= Html.ValidationMessage("ImagePath", "*") %>
                </p>

    [AcceptVerbs(HttpVerbs.Post)]
            public ActionResult CreateCase(FormCollection collection, HttpPostedFile ImagePath)
            {
                
                
                    ImagePath.SaveAs(Server.MapPath("~/UploadFiles/")+ImagePath.FileName);
                    return View("CreateCase");
            }


    这样做报错了,那么应该怎么做呢?除了上载文件外还有其他值。

    2010年2月5日 7:55

答案

  • 你好,

    不知道你报什么错,但是你上面的代码肯定有错。
    首先你应该用HttpPostedFileBase,而不是HttpPostedFile ;
    其次HttpPostedFileBase.FileName返回的是file的完整路径,而不是仅仅一个文件的名字,还包括路径,你可以用

    ImagePath.FileName.SubString(ImagePath.FileName.LastIndexOf("\")+1)来获得文件名。


    Microsoft Online Community Support
    2010年2月8日 6:14