无刷新上传文件_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 无刷新上传文件

无刷新上传文件

 2013/7/31 12:08:41  晴天.  博客园  我要评论(0)
  • 摘要:这几天做的项目用到了文件上传,总结一下,加深一下印象吧。嘿嘿..........1.一个添加功能,需要上传图片,上代码。1@{2using(Ajax.BeginForm("Add","PeopleManage",newAjaxOptions(){HttpMethod="Post",OnSuccess="afterAdd"},3new{id="AddFrm",enctype="multipart/form-data"}))4{5//....................6<tr>
  • 标签:上传 文件 上传文件 无刷新

这几天做的项目用到了文件上传,总结一下,加深一下印象吧。嘿嘿..........

1. 一个添加功能,需要上传图片,上代码。

 

 1 @{
 2             using (Ajax.BeginForm("Add", "PeopleManage", new AjaxOptions() { HttpMethod = "Post", OnSuccess = "afterAdd" },
 3                  new { id = "AddFrm", enctype = "multipart/form-data" }))
 4             {
 5             // ....................
 6                <tr>
 7                     <td>图标地址:</td>
 8                     <td id="iconTd" colspan="5">
 9                         <input id="iconUrl" type="text" name="IconUrl" />
10                         
11                         
12                         <input id="iconInput" type="file" name="iconImg"/>
13                         <input type="button" value="上传图片" id="btnUploadIconImg"/>
14                     
15                     </td>
16                 </tr>
17                 <tr>
18                     <td>
19                         图片预览 
20                     </td>
21                     <td id="iconYL" colspan="5">
22                         
23                     </td>
24                 </tr>
25               //...................
26             }
27 
28   }  

   mvc 异步提交表单,还有文件上传时最好加上enctype = "multipart/form-data" 这个属性。

 2. 前端触发事件 jquery 代码。

  

 1  //上传图片
 2         function bindImgUploadClick() {
 3             $("#btnUploadIconImg").click(function () {
 4                 //第一件事:判断文件input标签中有没有文件
 5                 if ($("#iconInput").val()) {
 6                     //让表单异步的提交到后台。
 7                     $("#iconYL img").remove();
 8                     $("#AddFrm").ajaxSubmit({
 9                         error: function (error) { alert(error); },
10                         url: '/PeopleManage/UploadImage', /*设置post提交到的页面*/
11                         type: "post", /*设置表单以post方法提交*/
12                         dataType: "text", /*设置返回值类型为文本*/
13                         success: function (data) {
14                            
15                             $("#iconUrl").val(data);
16                             $("#iconYL").append("<img id='IsUp' src='" + data + "' width='150px' heigth='80px' />");
17                             $("#iconInput").val("");
18                         }             
19                     });
20                 } else {
21                     $.messager.alert("错误消息", "请选择合法图片!");
22                 }
23             });
24         }

   这是个表单整体异步提交,需要一个MyAjaxForm.js文件。 success: 是成功后,后台返回的东东,可以返回图片路径,前台展示一下缩略图。

3. 后台上传的处理,代码献上。。
 

 1 #region 上传
 2 
 3         [HttpPost]
 4         public ActionResult UploadImage()
 5         {
 6             if (Request.Files["iconImg"] != null)
 7             {
 8                 var requestFile = Request.Files["iconImg"];
 9                 string Fname = requestFile.FileName;
10                 //获取文件扩展名
11                 string fileEx = Path.GetExtension(Fname);
12 
13                 if (fileEx == ".jpg" || fileEx == ".bmp" || fileEx == ".jpeg")
14                 {
15                     string imagePath = "/UploadFile/Images/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" +
16                                        DateTime.Now.Day + "/";
17 
18                     Directory.CreateDirectory(Server.MapPath(imagePath));
19 
20                     string fileName = imagePath + Guid.NewGuid().ToString() + Fname;
21 
22                     requestFile.SaveAs(Server.MapPath(fileName));
23 
24                     return Content(fileName);
25                 }
26 
27             }
28             return Content("上传失败");
29         }
30 
31         #endregion

 

 基本就这样勒,菜鸟一只,大家多多指教,多多交流奥 。。   O(∩_∩)O

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    网友 2015/1/13 15:49:36 发表

    传智播客学生

发表评论
用户名: 匿名