手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >基于jQuery通过jQuery.form.js插件实现异步上传
基于jQuery通过jQuery.form.js插件实现异步上传
摘要:本文主要从前台和后台代码分析了jquery.form.js实现异步上传的方法,分享给大家,具体代码如下前台代码:@{Layout=null;...

本文主要从前台和后台代码分析了jquery.form.js实现异步上传的方法,分享给大家,具体代码如下

前台代码:

@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <script src="~/Scripts/jquery-1.7.2.min.js"></script> <script src="~/Scripts/jquery.form.js"></script> <title>upload</title> </head> <body> <form id="fileForm" method="post" enctype="multipart/form-data" action="/upload/upload"> 文件名称:<input name="fileName" type="text"><br /> 上传文件:<input name="myfile" type="file" multiple="multiple"><br /> <input id="submitBtn" type="submit" value="提交"> <img src="#" alt="my img" id="iceImg" width="300" height="300" /> </form> <input type="text" name="height" value="170" /> <input id="sbtn2" type="button" value="提交表单2"> <input type="text" name="userName" value="" /> <script type="text/javascript"> $(function () { $("#fileForm").ajaxForm({ //定义返回JSON数据,还包括xml和script格式 //clearForm Boolean值属性,表示是否在表单提交成功后情况表单数据 //dataType 提交成果后返回的数据格式,可选值包括xml,json或者script //target 服务器返回信息去更新的页面对象,可以是jquery选择器字符串或者jquer对象或者DOM对象。 //type 提交类型可以是”GET“或者”POST“ //url 表单提交的路径 dataType: 'json', beforeSend: function () { //表单提交前做表单验证 $("#myh1").show(); }, success: function (data) { //提交成功后调用 //alert(data.message); $("#iceImg").attr('src', '/upload/img/' + data.fileName); $("#myh1").hide(); //防止重复提交的方法 //1.0 清空表单数据 $('#fileForm').clearForm(); //2.0 禁用提交按钮 //3.0 跳转页面 } }); $("#myfile").change(function () { $("#submitBtn").click(); }); $("#iceImg").click(function () { $("#myfile").click(); }); }); </script> <h1 id="myh1">加载中...</h1> </body> </html>

后台代码:

using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Web; using System.Web.Mvc; namespace IceMvc.Controllers { public class UploadController : Controller { // // GET: /Upload/ public ActionResult Index() { return View(); } [HttpPost] public ActionResult Upload() { var filesList = Request.Files; for (int i = 0; i < filesList.Count; i++) { var file = filesList[i]; if (file.ContentLength > 0) { if (file.ContentLength > 5242880) { return Content("<script>alert('注册失败!因为您选择图片文件不能大于5M.');window.location='/User/Register';</script>"); } //得到原图的后缀 string extName = System.IO.Path.GetExtension(file.FileName); //生成新的名称 string newName = Guid.NewGuid() + extName; string imgPath = Server.MapPath("/upload/img/") + newName; if (file.ContentType.Contains("image/")) { using (Image img = Image.FromStream(file.InputStream)) { img.Save(imgPath); } var obj = new { fileName = newName }; return Json(obj); } else { //return Content("<script>alert('注册失败!因为您未选择图片文件.');window.location='/User/Register';</script>"); } } } return Content(""); } public ActionResult Afupload() { return View(); } } }

以上就是针对jquery.form.js实现异步上传的方法,希望对大家的学习有所帮助。

【基于jQuery通过jQuery.form.js插件实现异步上传】相关文章:

jQuery实现html表格动态添加新行的方法

基于jQuery实现的无刷新表格分页实例

jQuery仿gmail实现fixed布局的方法

jQuery结合ajax实现动态加载文本内容

JQuery球队选择实例

如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)

JQuery插件jcarousellite的参数中文说明

基于jquery实现下拉框美化特效

Jquery注册事件实现方法

jQuery插件datepicker 日期连续选择

精品推荐
分类导航