近来因为要做一个上传功能,而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. 用Python抓取漫画并制作mobi格式电子书

    想看某一部漫画,但是用手机看感觉屏幕太小,用电脑看吧有太不方面.正好有一部Kindle,决定写一个爬虫把漫画爬取下来,然后制作成 mobi 格式的电子书放到kindle里面看. 一.编写爬虫程序 用C ...

  2. iOS CAGradientLayer白色渐变至上向下

    项目需求当显示富文本内容高度太高的的时候不全部显示出来,而是显示查看更多按钮,当点击查看更多时把全部内容展开.同时未展开部分要加一个渐变模糊的效果. 上效果图: 这里要用到CAGradientLaye ...

  3. MongoDB入门学习(1)

    什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供 ...

  4. 篇一、安装配置Android Studio

    系统:Mac 10.10 Java JDK:官方JDK1.8 IDE:Android Studio 1.2 Android SDK:24.2 模拟器:genymtion 安装 Mac版本的Androi ...

  5. Foundation框架 - NSDictionary类、NSMutableDictionary类

    NSArray.NSSet.NSDictionary /* 集合 1.NSArray\NSMutableArray * 有序 * 高速创建(不可变):@[obj1, obj2, obj3] * 高速訪 ...

  6. 如何使CSS--better(系列二)

    上一篇文章(如何使CSS--beter 系列一)中  分析了一下 什么样子的代码是高效的 应该避免什么样子的代码, 那么什么样子的代码是更容易扩展的? 什么代码是更好维护的? 什么代码是更好的? 下边 ...

  7. php扩展安装phpize

    安装php(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpize 一.phpize是干嘛的? phpize是什么东西呢?php官方的说 ...

  8. Lumen Repository(仓储)

    在 Laravel 5 中使用 Repository 模式实现业务逻辑和数据访问的分离:http://laravelacademy.org/post/3063.html Eloquent: 集合:ht ...

  9. hdu4847:Wow! Such Doge!(字符串匹配)

    题目:hdu4847:Wow! Such Doge! 题目大意:在给出的段落里面找出"doge"出现的次数.大写和小写都能够. 解题思路:字符串匹配问题,能够在之前将字母都转换成统 ...

  10. SQL SERVER 查看表是否存在

    查看表是否存在 if exists(select 1 from sysobjects where id = OBJECT_ID('数据库名称.dbo.表明称')) drop table 为字段添加注释 ...