form表单上传文件时失败

一、前言:

表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据

二、前台代码

@using (Html.BeginForm("QuestionAdd", "Manage", FormMethod.Post, new { @,enctype = "multipart/form-data" }))
{

<input name="questionFile" type="file" onchange="UploadQuestionFile(this)" />

<input type='submit' value='提交' />

}

三、后台代码

public ActionResult QuestionAdd(HttpPostedFileBase questionFile)

{

if (questionFile.HasFile())
{
string pathRrelative = @"/UploadFile/";//相对路径
string pathAbsolute = Server.MapPath(@"~UploadFile");//绝对路径
if (!Directory.Exists(pathAbsolute))
{
Directory.CreateDirectory(pathAbsolute); //新建文件夹
}
string fileName = string.Empty;

fileName = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(questionFile.FileName);
questionFile.SaveAs(pathAbsolute + fileName);
return pathRrelative+fileName;
}

}