近来因为要做一个上传功能,而firefox又不能直接使用file这样的标签,所以试着用js来写了一个,结果发现代码太多,验证太复杂,而且效果也不理想。

  相对的,jquery提供的这一套uploadify则相当好用,但是官方只提供了php版本的,表示有点遗憾,可是没关系,c#同样可以使用。下面写一个小的Demo,也是担心自己会忘记,在这做一个记录吧

  首先下载 uploadify3.1

  我们先写个html页面

  

 <body>
<div>
<div id="fileQueue"></div>
<input type="file" name="uploadify" id='uploadify' value="" />
<p>
<a href="javascript:$('#uploadify').uploadify('upload')">Start</a>
<a href="javascript:$('#uploadify').uploadify('cancel')">Cancel</a>
</p>
</div>
</body>

ok,页面完成之后,下面就是前奏了,我们需要导入相应的js和css样式,以及uploadify各参数的定义了,下面我们就来完成js的页面

  <script src="JS/jquery-1.8.0.js" type="text/javascript"></script>
<link href="JS/uploadify.css" rel="stylesheet" type="text/css" />
<script src="JS/jquery.uploadify-3.1.js" type="text/javascript"></script>
<script>
$(function () {
$("#uploadify").uploadify({
//上传false
'swf': 'JS/uploadify.swf',
//后台业务处理
'uploader': 'UploadHandler.ashx',
//按钮
'buttonText': 'Upload Image',
//设置宽高
'height': 15,
'width': 80,
'All Files': '*.*',
//在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeDesc': 'Image Files',
'fileTypeExts': '*.gif;*.jpg;*.png',
'size': '5120KB',
//设置是否自动上传,选择完成后自动上传,这里我并没有自动上传
'auto': false,
//设置是否可以上传多个文件
'multi': false,
//上传成功后所执行的代码
'onUploadSuccess': function (file, data, response) {
$("#" + file.id).find('.data').html('上传完毕');
},
//上传失败时所执行的代码
'onUploadError': function (file, data, response) {
$('#' + file.id).find('.data').html('文件过大');
},
//开始上传时所执行的代码
'onUploadStart': function (file) {
alert("start");
alert(file.name);
}
});
});
</script>

这里完成之后,我们就只差最后一步了,就是后台业务的处理,asp.net一般结合handler来使用,所以我们先创建一个uploadhandler.ashx文件

     context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
HttpPostedFile file = context.Request.Files["Filedata"];
//获取保存路径
string uploadPath =
HttpContext.Current.Server.MapPath("UploadImages" + "\\");
//判断文件是否为空
if (file != null)
{
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
//Save File
file.SaveAs(uploadPath + file.FileName);
//这里的返回值比较重要,1表示正确,0则是失败,成功后,会继续上传下一个文件
context.Response.Write("");
}
else {
context.Response.Write("");
}

说到这,功能便已经完成了,我发下我的文件结构图

点击这里下载uploadify 3.1

好,暂时就这些了,也是刚刚接触这个,其他的还在研究中

JQUERY Uploadify 3.1 C#使用案例的更多相关文章

  1. 使用jquery.uploadify上传文件

    今天在网上找了一天,想要找到一个比较全的使用案例,结果发现基本上全是一个版本的... 我的问题主要是上传完成后,还需要将路径获取到,然后保存到数据库. 查了一下资料发现有这么一个参数onComplet ...

  2. jquery.uploadify文件上传组件

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

  3. 使用jQuery Uploadify在ASP.NET 上传附件

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.Uploadify官方网址:http://www.uploadify.com/,在MVC中使用的方法可以参考 jQuer ...

  4. jquery.uploadify上传文件配置详解(asp.net mvc)

    页面源码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...

  5. jQuery uploadify 文件上传

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

  6. MVC中使用jquery uploadify上传图片报302错误

    使用jquery uploadify上传图片报302错误研究了半天,发现我上传的action中有根据session判断用户是否登录,如果没有登录就跳到登陆页,所以就出现了302跳转错误.原来更新了fl ...

  7. .Net多文件同时上传(Jquery Uploadify)

    前提:领导给了我一个文件夹,里面有4000千多张产品图片,每张图片已产品编号+产品名称命名,要求是让我把4000多张产品图片上传到服务器端,而且要以产品编码创建n个文件夹,每张图片放到对应的文件夹下. ...

  8. JQuery uploadify 的使用

    在Java WEB项目中用到了上传图片的功能,于是百度了一下,发现 uploadify 的出镜率很高,于是决定使用这个插件.结果昨天调试了一天没有成功,今天早上仔细想了想,觉得应该是调用js文件的原因 ...

  9. jQuery uploadify在谷歌和火狐浏览器下无法上传

    原因: 由于jQuery uploadify是借助flash来实现上传的,每一次向后台发送数据流请求时,ie会自动把本地cookie存储捆绑在一起发送给服务器.但firefox.chrome不会这样做 ...

随机推荐

  1. Android控件ListView获取item中EditText值

    能够明白,如今没有直接方法能够获得ListView中每一行EditText的值. 解决方式:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值. 大概算法:重写Ba ...

  2. docker-maven-plugin

    顾名思义,docker-maven-plugin是一个docker的maven插件,用来执行docker镜像的制作和上传,他的地址是https://github.com/spotify/docker- ...

  3. NIM游戏策略

    NIM取子游戏是由两个人面对若干堆硬币(或石子,或..)进行的游戏,游戏由两个人进行,设有k>=1堆硬币,各堆含有n1,n2,n3,n4.....,nk个硬币,游戏的目的就是选取最后剩下的硬币. ...

  4. 你须知道的30个CSS选择器 »

    你也许已经掌握了id.class.后台选择器这些基本的css选择器.但这远远不是css的全部.下面向大家系统的解析css中30个最常用的选择器,包括我们最头痛的浏览器兼容性问题.掌握了它们,才能真正领 ...

  5. 关于function的一种常用用法

    关于function的一种常用用法 void Share::InitAcrossManager() { GsMgrEvent gsMgrEvents;//保存function的结构体 gsMgrEve ...

  6. 九度OJ 1324:The Best Rank(最优排名) (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:489 解决:126 题目描述: To evaluate the performance of our first year CS major ...

  7. 九度OJ 1254:N皇后问题 (N皇后问题、递归、回溯)

    时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:765 解决:218 题目描述: N皇后问题,即在N*N的方格棋盘内放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一 ...

  8. Mac下nginx安装和配置

    nginx安装 brew search nginx brew install nginx 安装完以后,可以在终端输出的信息里看到一些配置路径: /usr/local/etc/nginx/nginx.c ...

  9. [luogu3767]膜法

    [luogu3767]膜法 luogu 神仙题 线段树分治+带权并查集 把每个操作看成点 首先这个操作的结构是一棵树 你发现每个点的对它的子树产生影响 我们可以想到用dfn序把它转成一段区间用线段树分 ...

  10. 我的Android进阶之旅------>解决 Error: ShouldNotReachHere() 问题

    在Android项目中创建一个包含main()方法的类,直接右键运行该类时会报如下错误: # # An unexpected error has been detected by Java Runti ...