文件上传有很多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. DEELX 正则表达式引擎(v1.2)

    DEELX 正则表达式引擎(v1.2) 简介见文末. 选择使用deelx的理由:全部代码位于一个头文件(.h)中, 比任何引擎都使用简单和方便. 利用分组从字符串当中提取出化学元素英文名.比如 Ag, ...

  2. CSS实现垂直居中

    Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的<td>. ...

  3. 【xsy1230】树

    题意 \(N\)个点的树,边有边权.给\(M\)个询问,每个询问包含3个参数\(l,r,pos\),求标号在\(l\)到\(r\)中的所有点中,离节点pos最近的点到pos的距离. 分析:动态点分治+ ...

  4. C++ template的一些高级用法(元编码,可变参数,仿函数,using使用方法,. C++ 智能指针)

    1 .  通用函数可变参数模板 对于有些时候,我们无法确切的知道,函数的参数个数时,而又不想过多的使用所谓的函数重载,那么就可以效仿下面的例子: #include<iostream> #i ...

  5. 二分图最大权最小权完美匹配模板KM

    在网上找了一份挺好的模板,先标一下哦~链接君:http://blog.csdn.net/abcjennifer/article/details/5844579 #include <iostrea ...

  6. spring随手笔记1:constructor-arg

    <bean id="Hello" class="com.ltf.captha.serviceImpl.HelloWorldServiceImpl"> ...

  7. [转]CSS,font-family,常用网页字体

    http://www.zreading.cn/ican/2014/10/css-font-family/ CSS,font-family,好看常用的中文字体 2014-10-14 例1(小米米官网): ...

  8. 优化ubuntu桌面

    ---恢复内容开始--- 此博主写的很全 http://blog.csdn.net/terence1212/article/details/52270210 使用安装Unity Tweak Tool ...

  9. vs2008编译openssl问题

    运行openssl demo 时,debug 版本正常,release 版本报异常:OPENSSL_Uplink(585E6000,08): no OPENSSL_Applink .demo 编译环境 ...

  10. SSL/TLS 高强度加密: 常见问题解答

    关于这个模块 mod_ssl 简史 mod_ssl会受到Wassenaar Arrangement(瓦森纳协议)的影响吗? mod_ssl 简史 mod_ssl v1 最早在1998年4月由Ralf ...