文件上传有很多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. iOS应用性能调优建议

    本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员.这是他的个人网站:http://www.marcelofabri.com/,你还可以 ...

  2. Grunt自动化构建工具(网址:http://www.gruntjs.net/getting-started或者http://gruntjs.cn/getting-started)

    简介:Grunt是基于Node.js的项目构建工具,对于需要重复执行的任务,例如压缩.编译.单元测试等,自动化工具可以减少你的工作量,使你的工作更轻松. 一:检测nodejs是否安装好,打开CMD控制 ...

  3. Zepto与jQuery的区别

    1. 事件绑定 var isTouch= !!navigator.userAgent.match(/AppleWebKit.*Mobile.*/), eStart = isTouch ? 'touch ...

  4. 20135203齐岳信息安全系统设计基础——实验四&实验五实验报告

    见20135217孙小博的博客:http://www.cnblogs.com/sunxiaobo/p/4991861.html

  5. SSM框架学习之高并发秒杀业务--笔记2-- DAO层

    上节中利用Maven创建了项目,并导入了所有的依赖,这节来进行DAO层的设计与开发 第一步,创建数据库和表. 首先分析业务,这个SSM匡济整合案例是做一个商品的秒杀系统,要存储的有:1.待秒杀的商品的 ...

  6. nginx root&alias文件路径配置

    转:https://www.ttlsa.com/nginx/nginx-root_alias-file-path-configuration/ 总结: alias 改变了访问路径.root对应loca ...

  7. dpkg命令的用法

    dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除. 所有源自"Debian"的Linux的发行版都使 ...

  8. C#微信开发-微信JS-SDK(1)之通过config接口注入权限验证配置

    官方文档是微信JS-SDK的使用步骤http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#JSSDK.E4.BD.B ...

  9. iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)

    iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一) 一.项目结构和plist文件 二.实现代码 1.说明: 主控制器直接继承UITableViewController // ...

  10. iOS开发网络篇—网络编程基础

    iOS开发网络篇—网络编程基础 一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过 ...