文件上传有很多jQuery插件,一般我最为常用的就是uploadify.js和ajaxfileupload.js,二者都是以file标签为依托,前者需要在页面初始化时就渲染插件,比较适合单纯的文件上传 ,如果用户操作完之后(比如选择了某个单选框或者复选框)再点击上传往后台传递的参数不会发生改变,只能页面初始化的时候把相应的参数写到formData对象中,但是样式比较好看一些;后者实用唯一的缺憾就是需要自己去设计样式。下面分别介绍二者使用。

uploadify.js:

            $('#file').uploadify({//前台file标签id
'formData': { 'Method': 'UploadFile' },//提交参数
'auto': true, //默认值是true,默认自动上传 ,自动上传文件会上传所有的文件,但是一个一个上传的
'multi': false, //默认值true 选择框内可同时选择多个文件,此处false只能选择一个
'uploadLimit': 30, //上传个数显示,一次只能上传一个
'width': 140,
'height': 20,
'fileSizeLimit': '50MB',
'fileTypeDesc': '上传附件类型',
'fileTypeExts': '*.doc;*.docx;*.xls;*.xlsx;*.jpg;*.png;*.bmp;*.pdf;*.txt;', //选择的格式
'fileObjName': 'Filedata', //后台获取到的文件的名称
'buttonText': '浏览',
'swf': '../../../../uploadify/uploadify.swf',
'queueID': 'queue',//用于显示上传过程或作其他处理
'uploader': Attachements.url, //后台处理上传的URL
'onUploadError': function (event, ID, fileObj, errorObj) {
if (errorObj.type.toLowerCase() == 'file size') {
$.messager.alert('系統提示', '文件太大,限值50MB', 'error');
}
},
'onUploadSuccess': function (file, data, response) {
//上传成功操作
}
});
html:<div id="queue"></div><input type='file' id='file'/>

ajaxfileupload.js      

              $.ajaxFileUpload({
url: 'webs/Sewage/AJAX/ImportData.ashx?Type=DataImport&SheetName=' + escape(sheetName),
type: 'post',
secureuri: false,
fileElementId: 'file1',
dataType: 'text',//或‘json’
success: function (msg, status) {
if (msg.indexOf("ok") > 0)
alert("数据导入成功!点击\"查看日志\"查看本次导入日志记录。");
else if (msg.indexOf("error") > 0) {
alert("数据导入完成,但导入过程出现错误!点击\"查看日志\"查看错误信息。");
}
else
alert(msg)
$('#file1').val('');
}
});
<pre name="code" class="javascript"> html:<input type='file' id='file1' name='file1'/> <!--注意使用ajaxfileupload.js时html标签需要添加name属性否则后台获取不到数据-->


后台代码:

                //HttpFileCollection file = HttpContext.Current.Request.Files; 或使用这个方式   获取form所有上传的内容返回的是一个集合
HttpPostedFile file = HttpContext.Current.Request.Files["file1"];//
if (file.FileName.EndsWith("xls"))
extension = ".xls";
else
extension = ".xlsx";
//path = "ImportData"+DateTime.Now.ToString("yyyyMMddmmss") + Path.GetExtension(file.FileName).ToLower();
 path = DateTime.Now.ToString("yyyyMMddHHmmss")+"ImportData"+extension;
string filePath=HttpContext.Current.Server.MapPath("~/uploadfiles/" + path);
file.SaveAs(filePath);

jquery插件文件上传的更多相关文章

  1. jquery插件----文件上传uploadfile

    使用了一款jquery上传的插件,ajax上传,可以显示上传的进度,高可配性,简要记录. 插件地址http://hayageek.com/docs/jquery-upload-file.php git ...

  2. jQuery上传插件,文件上传测试用例

    jQuery上传插件,文件上传测试用例 jQuery File Upload-jQuery上传插件介绍http://www.jq22.com/jquery-info230 jQuery File Up ...

  3. 使用jquery插件uploadify上传文件的方法与疑问

    我是学生一枚,专业也不是计算机,但又要用到很多相关技术,所以在技术基础不牢靠的情况下,硬着头皮在做.最近在做一个小项目需要上传图片,而且是需要用ajax的方式.但是利用jquery的ajax方法总会有 ...

  4. jquery uploadify文件上传插件用法精析

      jquery uploadify文件上传插件用法精析 CreationTime--2018年8月2日11点12分 Author:Marydon 一.参数说明 1.参数设置 $("#fil ...

  5. jQuery.uploadify文件上传组件实例讲解

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

  6. 详解jQuery uploadify文件上传插件的使用方法

    uploadify这个插件是基于js里面的jquery库写的.结合了ajax和flash,实现了这个多线程上传的功能. 现在最新版为3.2.1. 在线实例 实例中用到的php文件UploaderDem ...

  7. jQuery uploadify 文件上传

    uploadify这个插件是基于js里面的jquery库写的.结合了ajax和flash,实现了这个多线程上传的功能.现在最新版为3.2.1. 在线实例 实例预览 Uploadify 在线实例Demo ...

  8. 兼容ie的jquery ajax文件上传

    Ajax文件上传插件很多,但兼容性各不一样,许多是对ie不兼容的,另外项目中是要求将网页内容嵌入到桌面端应用的,这样就不允许带flash的上传插件了,如:jquery uploadify...悲剧 对 ...

  9. jquery.uploadify文件上传组件

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

随机推荐

  1. zabbix脚本报警

    zabbix问端设置: 1,设置报警类型 2.设置用户及媒体类型 send_to 就是zabbix输出的$1,脚本中药发给谁 3.设置触发器和动作 触发器 test.temp_conn (自己写一个简 ...

  2. Codeforces Round #383 (Div. 2) A,B,C,D 循环节,标记,暴力,并查集+分组背包

    A. Arpa’s hard exam and Mehrdad’s naive cheat time limit per test 1 second memory limit per test 256 ...

  3. 《BI项目笔记》创建多维数据集Cube(1)

    有两个事实表,因此就有两个度量值组,并且向导将为非维度键的事实表中的每一个数值列创建一个度量值.由于我们这里不需要那么多,所以只选择部分度量值.另外要注意,度量值的名称源于事实表中的列,所有名称由可能 ...

  4. HDU-4528 小明系列故事——捉迷藏 BFS模拟

    题意:链接 分析:每一个D或者是E点往四面延伸,并且赋一个特殊的值,能看到D点的点赋值为1,能看到E点的点赋值为1000,这是因为最多100步,因此最后可以根据除以1000和对1000取模来得出某个状 ...

  5. 使用Eclipse创建maven项目

    前提:Eclipse中安装了maven插件,或者Eclipse版本在Mars以上(自集成maven) 1.new project --maven project 2.默认点击next 3.选择构建类型 ...

  6. Java简介

    命令行输入参数不是在代码中设置输入的,而是这样做:选中你java项目中的java---右击----Run As---Run Configurations---Arguments----填入参数(多个参 ...

  7. C#高级进阶--重写函数

    这里要说一下,重写是继承时发生,在子类中重新定义父类中的方法.例如:基类方法声明为virtual方法,派生类中使用override声明此方法的重写. 基类中的访问修饰符在子类中是不能被修改的.比如说基 ...

  8. Java 类中各成分加载顺序 和 内存中的存放位置

    参加一个笔试,有一个关于类的静态代码块.构造代码块.构造函数的执行顺序的问题.不太清楚,网上百度了一下.在这里记录一下. 一.什么时候会加载类?使用到类中的内容时加载:有三种情况1.创建对象:new ...

  9. NGINX 定时器

    写在前面 写NGINX系列的随笔,一来总结学到的东西,二来记录下疑惑的地方,在接下来的学习过程中去解决疑惑. 也希望同样对NGINX感兴趣的朋友能够解答我的疑惑,或者共同探讨研究. 整个NGINX系列 ...

  10. table表格中实现tbody部分可滚动,且thead部分固定

    1.想要实现表格的thead部分固定切tbody部分可滚动,就需要将thead与tbody进行分离,具体做法是 1.设置thead,tbody都为display:block: 2.设置th与td的宽度 ...