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" > ...
随机推荐
- 467A
#include <stdio.h> int main() { int n; int p, q; int rooms=0; scanf("%d", &n); i ...
- Windows 下运行Makefile文件
下载并安装Microsoft Visual Studio2017 配置环境变量: 计算机右击-属性-高级系统设置-环境变量-选择Path编辑-添加nmake的路径: D:\Microsoft Visu ...
- 两个有序数组的上中位数和第K小数问题
哈,再介绍个操蛋的问题.当然,网上有很多解答,但是能让你完全看懂的不多,即便它的结果是正确的,可是解释上也是有问题的. 所以,为了以示正听,我也做了分析和demo,只要你愿意学习,你就一定能学会,并且 ...
- python中使用os.path.join()
os.path.join的详细解释请移步os.path模块在使用的过程中,我使用如下代码: import ospath = "F:/gts/gtsdate/"b = os.path ...
- Java-HttpURLConnection详细说明与实例
URLConnection 类是一个抽象类,代表应用程序和URL之间的通信连接,此类的实例可用于读取和写入此URL引用的资源.URLConnection 允许使用GET,POST或者其他HTTP方法请 ...
- netty如何实现零拷贝
根据 Wiki 对 Zero-copy 的定义: "Zero-copy" describes computer operations in which the CPU does n ...
- 解决mysql中文乱码问题?
mysql是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1.1.中文乱码 cre ...
- Shellcode入门
Shellcode入门 一.shellcode基础知识 Shellcode实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限.另外,Shellcode一般是作为 ...
- 忘记mysql密码时对密码进行更改
第一步: 打开cmd 输入:net stop mysql 第二步: 再打开另一个cmd 输入:mysqld --skip-grant-tables 第三步: 打开第三个cmd ...
- Shell 变量知识
1.自定义变量:自定义变量不能以数字开头. ()root#a=’cd /etc/’ #设置自定义变量. root#etho $a #使用变量. 2.全局变量:export可设置全局变量不能以数字开头. ...