form表单上传文件时失败

来源:互联网 发布:unity3d中国官网 编辑:程序博客网 时间:2024/06/05 01:00

一、前言:

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

二、前台代码

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

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

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

}

三、后台代码

 public ActionResult QuestionAdd(HttpPostedFileBasequestionFile)

{

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;
                }

}

0 0
原创粉丝点击