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的更多相关文章

  1. form+iframe+file 页面无刷新上传文件并获取返回值

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. ASP.NET工作笔记之一:图片上传预览及无刷新上传

    转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...

  3. jQuery AJAX 网页无刷新上传示例

    新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...

  4. jquery ajax php 无刷新上传文件 带 遮罩 进度条 效果的哟

    在很多项目中都会叫用户上传东西这些的,自从接触了jquery 和ajax之后就不管做什么,首先都会想到这个,我这个人呢?是比较重视客户体验的,这次我这边负责的是后台板块,然后就有一块是要求用户上传照片 ...

  5. SpringMVC结合ajaxfileupload.js实现文件无刷新上传

    直接看代码吧,注释都在里面 首先是web.xml <?xml version="1.0" encoding="UTF-8"?> <web-ap ...

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

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

  7. jQuery+AJAX实现网页无刷新上传

    新年礼,提供简单.易套用的 jQuery AJAX上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...

  8. Jquery ajaxfileupload.js结合.ashx文件实现无刷新上传

    先上几张图更直观展示一下要实现的功能,本功能主要通过Jquery ajaxfileupload.js插件结合ajaxUpFile.ashx一般应用程序处理文件实现Ajax无刷新上传功能,结合NPOI2 ...

  9. jQuery无刷新上传之uploadify简单试用

    先简单的侃两句:貌似已经有两个月的时间没有写过文章了,不过仍会像以前那样每天至少有一至两个小时是泡在园子里看各位大神的文章.前些天在研究“ajax无刷新上传”方面的一些插件,用SWFUpload实现了 ...

随机推荐

  1. 关于C3P0容错和自动重连特性的研究

    转载: http://blog.csdn.net/cutesource/article/details/5422093 最近常有数据库和网络设备升级和搬迁等事情,而各个应用都是基于数据库连接池做的,大 ...

  2. sql 字符带下划线匹配问题

    SQL 中 _下划线 作用是 匹配一个任意字符. 如果我们要去掉下划线的作用 单纯只用作一个字符则需要转义成    like '%\_%' escape '\' 字段 1.order_qrsc 2.o ...

  3. 将windows控制台内容输出到文件中

    将windows控制台内容输出到文件中 dir>c:/file.txt 2>&1   对应的java  class   >c:/file.txt 2>&1   ...

  4. 微信小程序——极点日历使用方法

    极点日历github项目地址 添加至自己的小程序方法 极点日历属性接口文档 代码实例: xml: <calendar calendar-style="calendar" he ...

  5. socket阻塞与非阻塞,同步与异步、I/O模型

    socket阻塞与非阻塞,同步与异步 1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所 ...

  6. r语言 列出所有变量

    你希望知道目前工作空间中存在哪些已定义的变量和函数. 解决方案 使用ls函数,或者使用ls.str函数了解每个变量更详细的信息. 讨论 ls函数可以显示当前工作空间中所有对象的名称:> x &l ...

  7. 我最喜欢的jQuery插件模板

    我使用jQuery已经有相当长的时间了,并且我会常常为它写一些插件(plugin).我尝试过用不同的方式去写,现在这个模板是我最喜欢的: 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  8. Coneroller执行时候的-26374及-26377错误

    有时候一些不必要的关联也会引起这个问题, 1.首先看下脚本中有没有使用了自动关联(web_reg_save_param) 2.在Virtual的脚本里查询下web_reg_save_param的参数使 ...

  9. idea破解,idea激活,使用破解补丁无需注册码

    dea激活,JetBrain旗下软件激活 前言 idea激活有多种方式,网上较多的是使用注册码或者填License server网址,目前(2017年8月19日)使用注册码的方式,亲测可用的只有lan ...

  10. 解决IE6下浮层遮盖select刺穿的问题

    图一未解决刺穿问题: 图二已解决                       解决方法使用iframe间接挡住层,具体方法见源码 源码一(未解决刺穿):   <html xmlns=" ...