jquery.form.js 实现异步上传
前台:
<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 实现异步上传的更多相关文章
- jquery.form.js实现异步上传
前台页面 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewpor ...
- jquery.form.js ajax提交上传文件
项目中最近有用到表单提交,是带有图片上传的表单录入,需要ajax异步提交,网上找了好多例子都是只能提交上传字段一个信息的,这里整理一下.表单里有普通文本信息字段也有图片上传字段. 1.jsp代码--引 ...
- [Asp.net mvc]jquery.form.js无刷新上传
写在前面 最近在自己的网盘项目中想用ajax.beginform的方式做无刷新的操作,提交表单什么的都可以,但针对文件上传,就是个鸡肋.在网上查找了发现很多人都遇到了这个问题,大部分都推荐使用jque ...
- asp.net使用jquery.form实现图片异步上传
首先我们需要做准备工作: jquery下载:http://files.cnblogs.com/tianguook/jquery1.8.rar jquery.form.js下载:http://files ...
- 解决 jquery.form.js和springMVC上传 MultipartFile取不到信息
前段页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...
- ThinkPHP+JQuery实现文件的异步上传
前端代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...
- jquery.form 兼容IE89文件上传
导入部分 <script type="text/javascript" src="js/jquery-1.8.3.min.js" charset=&quo ...
- jQuery插件之ajaxFileUpload异步上传
介绍 AjaxFileUpload.js 是一个异步上传文件的jQuery插件,原理是创建隐藏的表单和iframe然后用JS去提交,获得返回值. 下载地址: http://files.cnblogs. ...
- PHP JS JQ 异步上传并立即显示图片
提交页面: <! DOCTYPE html> < html> < head> < meta charset ="GB2312" > ...
随机推荐
- tplink路由器DMZ设置
设置完成后,DMZ主机访问不了? 请排查以下方面: 1.确认服务器搭建成功,即内网可以正常访问: 2.确认在DMZ主机中填写的服务器IP地址正确: 3.宽带直接连接服务器并配置上网,确认外网可以正常访 ...
- Python 第五阶段 学习记录之---Django 基础
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- iperf使用指南
注意:iperf板上版本和PC上版本要一致,至少都要是2或者3,不能一个是2,一个是3. You also get a "connection refused" error whe ...
- 用python完成带有进度条的圆周率计算
代码如下:import math import time scale= s,m,=, print("执行开始".center(scale//2, "-")) s ...
- socket实现文件传输
server:===========================================import socketimport structimport jsonsk = socket.s ...
- mysql ERROR 1045 和2058时(28000): 错误解决办法
mysql ERROR 1045 (28000): 错误解决办法 听语音 | 浏览:54286 | 更新:2018-02-23 14:34 | 标签:mysql 1 2 3 4 5 6 7 分步阅读 ...
- Convolutional Pose Machines
Convolutional Pose Machines 2018-12-10 18:17:20 Paper:https://www.cv-foundation.org/openaccess/conte ...
- Learning-Python【33】:并发编程之多进程
一.multiprocessing 模块介绍 Python 中的多线程无法利用多核优势,如果想要充分地使用多核 CPU 的资源(os.cpu_count()查看),在 Python 中大部分情况需要使 ...
- java Encryption&Decryption
The encryption class: package cn.com.smartcost.qy.util; import java.security.Key; import java.securi ...
- Webpack + vue 搭建
前言: 为何使用webpack? 为何相对于gulp&grunt更有优势 WebPack(前往官网)可以看做是模块打包机:直接分析项目结构,找到JavaScript模块以及其它的一些浏览器不能 ...