前台:

<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. UDAF(用户自定义聚合函数)求众数

    除了逐行处理数据的udf,还有比较常见的就是聚合多行处理udaf,自定义聚合函数.类比rdd编程就是map和reduce算子的区别. 自定义UDAF,需要extends org.apache.spar ...

  2. Sysinternals Utilities

    https://docs.microsoft.com/zh-cn/sysinternals/ Sysinternals 之前为Winternals公司提供的免费工具,Winternals原本是一间主力 ...

  3. Go 初体验 - channel.1 - 基本用法

    channel 分为两种: 1. 无缓冲 channel 2. 缓冲 channel 无缓冲 channel 的使用必须遵循一个原则:推送和读取必须同时存在,否则就发生死锁 先上代码: 这里定义了一个 ...

  4. WebForm内置对象:Application和ViewState、Repeater的Command用法

    一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Te ...

  5. 项目中常用的javascript/jquery操作

    1.判断复选框是否被选中? $("#cpuWindow").is(':checked'); 2.设置复选框被选中: $("#cpuWindow").prop(& ...

  6. Excel提取设定的多个关键字段

    从一段文字中,提取事先设定的关键字段: 在M2单元格输入下列公式: =IFERROR(IF(FIND(O$2,Q2),O$2&" "),"")& ...

  7. 剑指offer(16)合并两个排序的链表

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 题目分析 重点抓住这两个链表都是单挑递增的,因此我们只需要不断地比较他们的头结点就行,明显这是个 ...

  8. 尚硅谷面试第一季-16 JVM垃圾回收机制

    问题的提出:GC发生在JVM那个部分,由几种GC,它们的算法是什么? 课堂重点: GC发生在JVM体系的堆部分.     什么是GC(分代手机算法)Minor GC 和 Full GC GC4大算法: ...

  9. win10更新后 chrome内核浏览器总是打开网页一直加载 甚至打不开 解决方法

    https://blog.csdn.net/qq754772661/article/details/81452131 升级win10之后如果出现chrome内核的浏览器网页总是打不开 打开很慢 而ie ...

  10. Qt 从菜单栏打开文件

    Qt从菜单栏的下拉菜单选择文件 构造函数中设置打开动作信息 //打开文件 m_menu = ui.menu; // m_menu->menuAction = new QAction(QIcon( ...