jquery.form 和MVC4做无刷新上传DEMO
jquery.form 和MVC4做无刷新上传DEMO
HTML:
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="/Scripts/jquery.form.js"></script>
<script type="text/javascript" src="/Scripts/common.js"></script> <form accept-charset="UTF-8" id="node_form" method="post" action="">
<input size="" class="tino_file" maxlength="" name="pic" id="field-pic" imgstyle=" width=100" type="text" />
<input size="" class="tino_file1" maxlength="" name="pic1" id="field-pic1" imgstyle=" width=100" type="text" />
</form>
JS:
$(document).ready(function(){
    $('input.tino_file').each(function(){
        var form=$(this).parents("form");
        form.attr('enctype','multipart/form-data');
        var old_name=$(this).attr('name');
        $(this).hide();
        var new_name=old_name+'_file';
        var imgstyle=$(this).attr('imgstyle');
        var imgstr='';
        var old_file=$(this).val();
        if(''!=old_file)
        {
            imgstr='<a href="'+old_file+'" target="_blank"><img src="'+old_file+'" '+imgstyle+'></a> <a href="###" onclick="del_pic(\''+old_name+'\')">删除</a>';
        }
        var str='<input type="file" name="'+new_name+'" id="'+new_name+'" value=""><input type="hidden" id="'+new_name+'_del" value=""><div id="'+new_name+'_show">'+imgstr+'</div>';
        $(this).after(str);
        var ahah=$(this);
        $('#'+new_name).change(function(){
            var tmp=$(this).val();
            if(''!=tmp)
            {
                //alert(ahah.val());
                form.ajaxSubmit({
                    url:"/Home/UploadImage",
                    type: 'POST',
                    data:{'field':new_name,'only_img':'yes','old_img':$('#'+new_name+'_del').val()},
                    dataType: "json",
                    //beforeSend:function(){loading_start();},
                    success: function(result) {
                        if ('' != result.url) {
                            var tmp = result;
                            $('#' + new_name + '_show').html('<a href="' + tmp.url + '" target="_blank"><img src="' + tmp.realpath + '" ' + imgstyle + '></a> <a href="###" onclick="del_pic(\'' + old_name + '\')">删除</a>');
                            ahah.val(tmp.url);
                            $('#' + new_name + '_del').val(tmp.realpath);
                            window.onbeforeunload = function () {
                            }
                        } else {
                            alert("请选择正确图片上传");
                        }
                    }
                });
            }
        });
    });
Contoller:
public JsonResult UploadImage()
{
var relativeurl = "";//相对路径
var realurlpath = "";//绝对路径
if (Request.Files.Count <= )
return Json(new
{
url =relativeurl,
realpath=realurlpath
});
for(var i = ;i < Request.Files.Count;i++)
{
var extensionname = DateTime.Now.ToString("yyyyMMddmmss");
var file = HttpContext.Request.Files[i];
if (file == null || file.ContentLength <= ) continue;
var originExtensionName = EnHtml(HttpUtility.UrlDecode(file.FileName,Encoding.GetEncoding("GB2312"))).Substring(EnHtml(HttpUtility.UrlDecode(file.FileName,Encoding.GetEncoding("GB2312"))).Length - );
if (originExtensionName.ToLower() != "jpg" && originExtensionName.ToLower() != "gif") continue;
var newFile = extensionname + "." + originExtensionName;
relativeurl = newFile;
realurlpath = "/upfile/" + newFile;
file.SaveAs(HttpContext.Server.MapPath("/upfile/" + newFile));
}
return Json(new {
url = relativeurl,
realpath = realurlpath
});
} private static string EnHtml(string str) {
if(str == null)
return "";
str = str.Replace(" ",""); str = str.Trim();
return str;
}
jquery.form 和MVC4做无刷新上传DEMO的更多相关文章
- form+iframe+file  页面无刷新上传文件并获取返回值
		<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ... 
- ASP.NET工作笔记之一:图片上传预览及无刷新上传
		转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ... 
- jQuery AJAX 网页无刷新上传示例
		新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ... 
- jquery ajax php 无刷新上传文件 带 遮罩 进度条 效果的哟
		在很多项目中都会叫用户上传东西这些的,自从接触了jquery 和ajax之后就不管做什么,首先都会想到这个,我这个人呢?是比较重视客户体验的,这次我这边负责的是后台板块,然后就有一块是要求用户上传照片 ... 
- SpringMVC结合ajaxfileupload.js实现文件无刷新上传
		直接看代码吧,注释都在里面 首先是web.xml <?xml version="1.0" encoding="UTF-8"?> <web-ap ... 
- [Asp.net mvc]jquery.form.js无刷新上传
		写在前面 最近在自己的网盘项目中想用ajax.beginform的方式做无刷新的操作,提交表单什么的都可以,但针对文件上传,就是个鸡肋.在网上查找了发现很多人都遇到了这个问题,大部分都推荐使用jque ... 
- jQuery+AJAX实现网页无刷新上传
		新年礼,提供简单.易套用的 jQuery AJAX上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ... 
- Jquery ajaxfileupload.js结合.ashx文件实现无刷新上传
		先上几张图更直观展示一下要实现的功能,本功能主要通过Jquery ajaxfileupload.js插件结合ajaxUpFile.ashx一般应用程序处理文件实现Ajax无刷新上传功能,结合NPOI2 ... 
- jQuery无刷新上传之uploadify简单试用
		先简单的侃两句:貌似已经有两个月的时间没有写过文章了,不过仍会像以前那样每天至少有一至两个小时是泡在园子里看各位大神的文章.前些天在研究“ajax无刷新上传”方面的一些插件,用SWFUpload实现了 ... 
随机推荐
- 模式匹配的KMP算法详解
			这种由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现的改进的模式匹配算法简称为KMP算法.大概学过信息学的都知道,是个比较难理解的算法,今天特把它搞个彻彻底底明明白白. 注意到这 ... 
- 网页QQ弹出
			<script language="javascript"> function cdyht(){ window.location.href='tencent://Mes ... 
- Python基础知识小结
			1. 关于函数传参 def func(n, *args, **kwargs): print n print args print kwargs if __name__ == '__main__': # ... 
- C/C++-标准输入/输出重定向为文件输入/输出
			/* Time: 2017-02-22 11:11:15 Describe: C++程序将标准输入/输出重定向为文件输入/输出. */ #include <iostream> #inclu ... 
- 《VS2010/MFC编程入门教程》——读书笔记
			推荐两个比较好的学习网站:http://v.dxsbb.com/jisuanji/555/ http://www.jizhuomi.com/software/257.html MFC全称Microso ... 
- JSP之response对象使用
			1.使用response对象实现重定向 response.sendRedirect("http://www.cnblogs.com"); 2.使用response对象刷新页面 每隔 ... 
- Qt封装QTcpServer参考资料--QT自带QTcpServer架构分析
			Qt 4.6自带的threaddedfortuneserver是个简单明了的 Qt C/S网络编程server端程序的例子, 该例子演示了 QTcpServer与QThread配合的方法. 代码不多 ... 
- 图的基本算法(BFS和DFS)
			图是一种灵活的数据结构,一般作为一种模型用来定义对象之间的关系或联系.对象由顶点(V)表示,而对象之间的关系或者关联则通过图的边(E)来表示. 图可以分为有向图和无向图,一般用G=(V,E)来表示图. ... 
- grub的boot loader安装在磁盘上的位置
			在很多资料上介绍grub的引导过程时,都是:bios->MBR->boot loaderboot loader是grub或者lilo.但是他是放在什么位置?很多资料上都没有标明. 通过阅读 ... 
- 3ds Max 中的导航控件SteeringWheels入门介绍
			介绍 软件环境:3d Max2015 SteeringWheels 3D导航控件也可以说是“追踪菜单”,通过它们可以使用户从单一的工具访问不同的2D和3D导航工具.SteeringWheels可分成多 ... 
