前台:

<form id="formSeacrh" action="/ResumeInfo/uploadFile" method="post" enctype="multipart/form-data">
<div class="form-horizontal">
<div class="form-group" style="height:100px;overflow-y:auto">
<div class="col-sm-8" id="filediv">
<div><input type="file" name="file" style="display: inline;" /><a href="javascript:void(0)" class="deletelink">删除</a></div>
<div><input type="file" name="file" style="display: inline;" /><a href="javascript:void(0)" class="deletelink">删除</a></div>
<div><input type="file" name="file" style="display: inline;" /><a href="javascript:void(0)" class="deletelink">删除</a></div>
</div>
</div>
<div class="form-group">
<div class="col-sm-8">
<button type="button" class="btn btn-success" style="float:left" id="addbtn">添加附件</button>
<button type="submit" id="btnSubmit" style="float:right" class="btn btn-facebook">确定</button>
</div>
</div>
</div>
</form>
<script src="~/Scripts/jquery.form.js"></script>
<script>
$(function () {
$("#formSeacrh").submit(function () {
var options = {
//target: '#output', //把服务器返回的内容放入id为output的元素中
//beforeSubmit: showRequest, //提交前的回调函数
//url: url, //默认是form的action, 如果申明,则会覆盖
//clearForm: true, //成功提交后,清除所有表单元素的值
//resetForm: true, //成功提交后,重置所有表单元素的值
//timeout: 3000, //限制请求的时间,当请求大于3秒后,跳出请求
success: function (data) {
if (data.message == "") {
parent.addDetailToDiv(false, data.files);
$(parent.document.getElementsByClassName('close')).click();
} else {
$.growl.warning({ message: data.message, title: "提示" });
}
},
error: function (error) { alert(error); },
url: '/ResumeInfo/uploadFile', /*设置post提交到的页面*/
type: "post", /*设置表单以post方法提交*/
dataType: "json" /*设置返回值类型为文本*/
}
$(this).ajaxSubmit(options);
return false;
}); $('body').on('click', '#addbtn', addFile);
$('body').on('click', '.deletelink', deleteFile);
}); function addFile() {
$('#filediv').append('<div><input type="file" name="file" style="display: inline;" /><a href="javascript:void(0)" class="deletelink">删除</a></div>');
} function deleteFile() {
$(this).parent().remove();
}
</script>

后台:

        /// <summary>
/// 上传文件
/// </summary>
/// <returns></returns>
public ActionResult uploadFile(string callback = "") {
ViewBag.callback = callback;
return View();
} /// <summary>
/// 上传文件 提交
/// </summary>
/// <returns></returns>
[HttpPost]
public ActionResult uploadFile(List<HttpPostedFileBase> list) {
List<fileClass> fileNames = new List<fileClass>();
var msg = "";
if (Request.Files.Count == ) {
msg = "请选择文件";
} else {
try {
for (int i = ; i < Request.Files.Count; i++) {
if (Request.Files[i] != null) {
string ext = Path.GetExtension(Request.Files[i].FileName);
string filename = Guid.NewGuid().ToString() + ext;
string path = "/upload/" + DateTime.Now.ToString("yyyy-MM-dd") + "/";
string directory = Server.MapPath("~" + path);
if (!Directory.Exists(directory)) {
Directory.CreateDirectory(directory);
}
string fileFullName = Path.Combine(directory, filename);
Request.Files[i].SaveAs(fileFullName);
fileClass f = new fileClass();
f.filename = Request.Files[i].FileName;
f.path = path + filename;
fileNames.Add(f);
}
}
} catch (Exception ex) {
msg = ex.Message;
}
}
return Json(new { message = msg, files = fileNames });
}

jquery.form.js 实现异步上传的更多相关文章

  1. jquery.form.js实现异步上传

    前台页面 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewpor ...

  2. jquery.form.js ajax提交上传文件

    项目中最近有用到表单提交,是带有图片上传的表单录入,需要ajax异步提交,网上找了好多例子都是只能提交上传字段一个信息的,这里整理一下.表单里有普通文本信息字段也有图片上传字段. 1.jsp代码--引 ...

  3. [Asp.net mvc]jquery.form.js无刷新上传

    写在前面 最近在自己的网盘项目中想用ajax.beginform的方式做无刷新的操作,提交表单什么的都可以,但针对文件上传,就是个鸡肋.在网上查找了发现很多人都遇到了这个问题,大部分都推荐使用jque ...

  4. asp.net使用jquery.form实现图片异步上传

    首先我们需要做准备工作: jquery下载:http://files.cnblogs.com/tianguook/jquery1.8.rar jquery.form.js下载:http://files ...

  5. 解决 jquery.form.js和springMVC上传 MultipartFile取不到信息

    前段页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

  6. ThinkPHP+JQuery实现文件的异步上传

    前端代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...

  7. jquery.form 兼容IE89文件上传

    导入部分 <script type="text/javascript" src="js/jquery-1.8.3.min.js" charset=&quo ...

  8. jQuery插件之ajaxFileUpload异步上传

    介绍 AjaxFileUpload.js 是一个异步上传文件的jQuery插件,原理是创建隐藏的表单和iframe然后用JS去提交,获得返回值. 下载地址: http://files.cnblogs. ...

  9. PHP JS JQ 异步上传并立即显示图片

    提交页面: <! DOCTYPE html> < html> < head> < meta charset ="GB2312" > ...

随机推荐

  1. Python基础(五) python装饰器使用

    这是在Python学习小组上介绍的内容,现学现卖.多练习是好的学习方式. 第一步:最简单的函数,准备附加额外功能 # -*- coding:gbk -*- '''示例1: 最简单的函数,表示调用了两次 ...

  2. javaScript函数立即执行《1》

    javaScript函数立即执行<1> 函数立即执行,常见两种写法: >>> (function(){ })() >>> (function(){ }( ...

  3. JAVA的值传递问题

    为什么 Java 中只有值传递? 首先回顾一下在程序设计语言中有关将参数传递给方法(或函数)的一些专业术语.按值调用(call by value)表示方法接收的是调用者提供的值,而按引用调用(call ...

  4. 设置vim支持gbk

    linux下的默认字符集是utf-8,但Windows下默认是GBK,如果我们在linux下打开Windows中的文件就很容乱码,可以通过下面的设置使vim支持GBK编码. 首先,确认你的系统中安装了 ...

  5. nrm 使用

    全局安装 npm i nrm -g   全局安装nrm nrm ls  查看镜像地址: npm ---- https://registry.npmjs.org/ cnpm --- http://r.c ...

  6. EasyUI表格DataGrid格式化formatter用法

    1.通过HTML标签创建数据表格时使用formatter <!DOCTYPE html> <html> <head> <meta charset=" ...

  7. 洛谷P1605 迷宫 (DFS)

    题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫 中移动有上下 ...

  8. go中 -strconv包的使用

    strconv 包中的函数和方法 // atob.go ------------------------------------------------------------ // ParseBoo ...

  9. Django框架---- 信号

    Django中的信号及其用法 Django中提供了"信号调度",用于在框架执行操作时解耦. 一些动作发生的时候,系统会根据信号定义的函数执行相应的操作 Django中内置的sign ...

  10. 表单、框架结构的大概、CSS开头(选择器以及常用属性)

    <!--为网页添加图标,写在头部--> <link rel="shortcut icon" href="favicon.ico(路径)" ty ...