直接上代码吧

前台

先引用 ajaxfileupload.js

<script src="~/Scripts/ajaxfileupload.js"></script>
  <input type="file" id="test_file" name="test_file" style="display:none" />

 <a href="#" id="test_ImportData">导入数据</a>

这么做是为了不让那个丑的要死的file 控件出来 直接用一个按钮触发 隐藏掉原来的file 控件

 <script type="text/javascript">
(function () {
var changefile = function () {
var ajaxDialog = ShowWaitMessageDialog("");//遮罩层
$.ajaxFileUpload({
url: '/Home/Import',//需要链接到服务器地址
secureuri: false,
fileElementId: 'test_file',//文件选择框的id属性
dataType: 'text', //服务器返回的格式,可以是json 但是不兼容IE 故改为Text
success: function (data, status) {
//返回之后的操作
//...
HideWaitMessageDialog(ajaxDialog);//关闭提交时的弹层提示
},
complete: function (xmlHttpRequest) {
//解决点击一次file失效
$("#test_file").replaceWith('<input type="file" id="test_file" name="test_file" style="display:none"/>');
$("#test_file").change(function () {
changefile();
});
},
error: function (data, status, e) {
HideWaitMessageDialog(ajaxDialog);//关闭提交时的弹层提示
alert(e);
}
});
};
$("#test_ImportData").click(function () {
$("#test_file").click();
});
$("#test_file").change(function () {
changefile();
});
}());
</script>

然后是后台接收,接收完后我是先把他存到本地,然后取出来

 public string Import()
{
try
{
HttpFileCollection httpFileCollection = System.Web.HttpContext.Current.Request.Files;
string path = "";
DataTable dt = null;
if (httpFileCollection.Count > )
{
string fileName = httpFileCollection[].FileName;
if (fileName.IndexOf("\\") > -)
{
//IE的情况
fileName = fileName.Substring(fileName.LastIndexOf("\\") + );
}
path = "/UploadFiles/" + fileName;
string PhysicalPath = Server.MapPath(path);
httpFileCollection[].SaveAs(PhysicalPath);//存到项目文件中,
dt = ExcelUtil.ReadFromCSV(PhysicalPath, true);// 通过路径读取文件内容存到datatable中 }
return JsonUtil.SerializeObject(dt);
}
catch (Exception ex)
{
throw ex;
}
}

MVC ajaxfileupload 实现无刷新导入或上传功能的更多相关文章

  1. jquery .net 无刷新多文件上传

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示 ...

  2. iframe无刷新跨域上传文件并获取返回值

    通常我们会有一个统一的上传接口,这个接口会被其他的服务调用.如果出现不同域,还需要无刷新上传文件,并且获取返回值,这就有点麻烦了.比如,新浪微博启用了新域名www.weibo.com,但接口还是使用原 ...

  3. Ajax 使用formdata 实现 无刷新表单上传

    FormData对象的作用就类似于这里的serialize()方法,不过FormData是浏览器原生的,且支持二进制文件 1.这里实现一个无刷新上传图片,成功后页面显示 点击button 触发隐藏的 ...

  4. SWFUpload无刷新文件批量上传

    一.首先将SWFUpload所有文件加入项目中,如图

  5. iframe无刷新跨域上传文件并获得返回值

    原文:http://geeksun.iteye.com/blog/1070607 需求:从S平台上传文件到R平台,上传成功后R平台返回给S平台一个值,S平台是在一个页面弹出的浮窗里上传文件,所以不能用 ...

  6. 基于THINKPHP+layui+Ajax无刷新实现图片上传预览

    <fieldset class="layui-elem-field" style="width:500px;margin:50px 0 0 300px;" ...

  7. MVC.Net5:添加Tinymce的图片上传功能

    Tinymce是目前几个主流的Web文本编辑器之一,不过它的图片上传功能是要收费的,而其它几个免费的上传图片的插件支持的都是PHP.那么就只能自己动手写一个了(源代码下载). 准备工作如下:1.   ...

  8. spring mvc 3.0 实现文件上传功能

    http://club.jledu.gov.cn/?uid-5282-action-viewspace-itemid-188672 —————————————————————————————————— ...

  9. ASP.NET MVC使用jQuery无刷新上传

    昨晚网友有下载了一个jQuery无刷新上传的小功能,他尝试搬至ASP.NET MVC应用程序中去,在上传死活无效果.Insus.NET使用Teamviewer远程桌面,操作一下,果真是有问题.网友是说 ...

随机推荐

  1. .Net快速上手Nlog日志组件

    目录 一.NLog 简介 二.NLog 安装 三. NLog 配置 四.程序代码中写日志 五.参考 一.NLog 简介 NLog是适用于各种.NET平台的灵活,免费的日志记录平台.NLog使写入多个目 ...

  2. nginx部署VUE跨域访问api

    H5端配置跨域 nginx跨域配置 server { listen 80; charset utf-8; server_name you_dome_name;#location /tasklist.j ...

  3. 1.1 Lack of free swap space on zabbix_server (zabbix监控报错)

    1.首先看一下内存 free -m 2.然后创建一个分区添加交换文件 mkdir /home/temp dd if=/dev/zero of=/home/temp/swap bs=1024 count ...

  4. 【题解】BZOJ5093图的价值(二项式+NTT)

    [题解]BZOJ5093图的价值(二项式+NTT) 今天才做这道题,是我太弱了 强烈吐槽c++这种垃圾语言tmd数组越界不re反倒去别的数组里搞事情我只想说QAQ 推了一张A4纸的式子 考虑每个点的度 ...

  5. 第 426 期 Python 周刊

    文章,教程和讲座 端到端机器学习:从数据收集到模型部署 链接: https://ahmedbesbes.com/end-to-end-ml.html 在本文中,我们将完成构建和部署机器学习应用程序的必 ...

  6. SimpleFactoryPattern(简单工厂模式)-----Java/.Net

    工厂模式是最常用的一种创建型模式,通常所说的工厂模式一般是指工厂方法模式.本篇是是工厂方法模式的“小弟”,我们可以将其理解为工厂方法模式的预备知识,它不属于GoF 23种设计模式,但在软件开发中却也应 ...

  7. 「SP25784」BUBBLESORT - Bubble Sort 解题报告

    SP25784 BUBBLESORT - Bubble Sort 题目描述 One of the simplest sorting algorithms, the Bubble Sort, can b ...

  8. 「洛谷P3931」 SAC E#1 - 一道难题 Tree

    P3931 SAC E#1 - 一道难题 Tree 题目背景 冴月麟和魏潇承是好朋友. 题目描述 冴月麟为了守护幻想乡,而制造了幻想乡的倒影,将真实的幻想乡封印了.任何人都无法进入真实的幻想乡了,但是 ...

  9. 1045 快速排序 (25 分)C语言

    著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的 N 个互不相同的正整数的排列,请问 ...

  10. 01_垂直居中body中的应用

    1: 应用场景 在body中书写一个代码块, 使其相对于body垂直居中 <!DOCTYPE html> <html lang="en"> <head ...