和分页类似,文件上传是web开发标配的技能之一。下面介绍Uploadify的配置和使用。

一、配置

首先到Uploadify官网下载,然后在项目中添加相应引用。前台代码如下:

1.jquery.js
2.uploadify/jquery.uploadify.js
3.uploadify/uploadify.css

js代码:

$("#uploadify1").uploadify({
height: 30,
width: 120,
swf: '@Url.Content("~/Content/uploadify/uploadify.swf")',
uploader: '@Url.Content("~/Home/Upload")',
'auto': true,
'buttonText': '上传图片',
'multi': false,
'sizeLimit' : 2*1024*1024,
'formData': { 'submitType': 'image', 'studentId':studentId, 'taskId':taskId },
'fileTypeDesc': '指定文件',
'fileTypeExts': '*.jpg; *.jpeg; *.png; *.gif',
'removeTimeout': 2, //进度条消失秒数
'onInit': function () { },
'onSelect': function (fileObj) { //判断文件大小
var fileSize = fileObj.size;
if (fileSize > 2*1024*1024) {
alert("图片不得大于2M");
$('#uploadify1').uploadify('cancel');
return;
}
},
'onUploadComplete': function (file) {
},
'onUploadSuccess': function (file, data, response) { //上传成功回调方法
data = JSON.parse(data);
if(data.IsSuccess == "True" ){
alert("上传成功");
}else{
alert("上传失败");
return;
}
}
});

html代码:

<div id="">
<img width="100px;" height="100px;" id="imgPriview" src="http://images4.c-ctrip.com/target/headphoto/portrait_180_180.jpg"
alt="" />
</div>
<input type="file" name="uploadify" id="uploadify" />
<p>
<a href="javascript:$('#uploadify').uploadify('upload','*');">上传</a>| <a href="javascript:$('#uploadify').uploadify('cancel')">
取消上传</a>
</p>

点击上传以后,会将数据提交到后台,交给uploadHandler.ashx处理。

二、后台

一般处理程序ahsx会处理前台提交过来的数据,把图片保存到磁盘,然后返回图片的url给客户端进行预览。

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Charset = "utf-8"; HttpPostedFile file = context.Request.Files["Filedata"]; string uploadPath = context.Request.MapPath("/uploadedFiles/"); string fileName = file.FileName;
string imgUrl = "http://" + context.Request.Url.Authority + "/uploadedFiles/" + fileName; if (file != null)
{
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
} file.SaveAs(uploadPath + fileName); context.Response.Write(imgUrl);
}
else
{
context.Response.Write("");
} }

一个简单的demo示范如何配置和使用Uploadify,由于Uploadify是基于Flash上传的,有一个已知的bug是上传时会丢失sessionId,进而服务端也拿不到cookie, 好在可以通过手动添加sessionId解决。

Uploadify in ASP.Net的更多相关文章

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

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

  2. Uploadify在asp.net下使用Demo

    为了使自己以后不再去网上搜索,特记录下来 从uploadify官网http://www.uploadify.com/上下载文件 必要的文件: 1.jquery的js文件 2.jquery.upload ...

  3. jQuery Uploadify在ASP.NET MVC3中的使用

    1.Uploadify简介 Uploadify是基于jQuery的一种上传插件,支持多文件.带进度条显示上传,在项目开发中常被使用. Uploadify官方网址:http://www.uploadif ...

  4. uploadify在asp.net中的试用小结

    花了差不多一下午的时间,总算把uploadify插件运行起来,在此对自己遇到的问题以及过程做一个小结. 一.使用步骤 1.在官网下载最新的插件包,并将包解压. 2.新建asp.net web项目,将解 ...

  5. uploadify加ASP.NET MVC3.0上传文件(可多条)

    页面代码: <div id="fileQueuePlug"></div> <input type="file" name=&quo ...

  6. jQuery Uploadify在ASP.NET MVC中的使用

    感谢http://www.cnblogs.com/libingql/archive/2012/09/11/2681007.html 除此之外,给大家推荐一个: http://gallery.kissy ...

  7. 【WebForm】ASP.NET 使用 uploadify 上传文件

    说明 ASP.NET中上传文件是很常见的一项功能,经常不用的话,可能会遗忘,为了,以后能方便的调用使用,在这里做个备份说明.最后,把做的简单的DEMO上传,方便看. 主要借鉴的这个博主的: Uploa ...

  8. jQuery Uploadify上传插件

    jQuery Uploadify在ASP.NET MVC3中的使用 1.Uploadify简介 Uploadify是基于jQuery的一种上传插件,支持多文件.带进度条显示上传,在项目开发中常被使用. ...

  9. jQuery文件上传插件uploadify

    官方网站:http://www.uploadify.com/ 参考博客:jQuery Uploadify在ASP.NET MVC3中的使用 参考博客:使用uploadify上传图片时返回“Cannot ...

随机推荐

  1. easyui combobox默认选中项

    今天写前端代码发现combobox还挺难搞, $("#select_Dic").combobox({                        url: "http: ...

  2. sda, sdb, sdc, sda1, sda2在Linux中都代表什么

    意义如下: 第一个软驱 /dev/fd0. 第二个软驱 /dev/fd1. 第一块硬盘 /dev/sda. 第二块硬盘 /dev/sdb, 以此类推. 第一个SCSI CD-ROM /dev/scd0 ...

  3. 判断小米 魅族 华为 系统 MIUI EMUI FLYME

    获取系统信息 public class SimpleDeviceUtils { public enum SystemType { /** * 小米手机(MIUI系统) */ SYS_MIUI, /** ...

  4. eclipse library jar包 使用总结 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  5. VS2013开发一个简单的asmx接口程序

    一.开发和调试 1:创建一个ASP.NET web应用程序 2:选择空的模板 3:系统生成项目目录 4:右键项目-添加项-新建项 5:选择Web  服务(ASMX) 6:选择之后项目中会有一个Test ...

  6. (转)Unity3D研究院之Assetbundle的实战(六十三)

    上一篇文章中我们相惜讨论了Assetbundle的原理,如果对原理还不太了解的朋友可以看这一篇文章:Unity3D研究院之Assetbundle的原理(六十一) 本篇文章我们将说说assetbundl ...

  7. “No module named bs4”问题

    用tushare,import的时候,老报这个错.我的系统是重装的,包都是直接复制过来的.重新安装也不行. 最后,从网上下beautifulsoup4-4.6.0-py2-none-any.whl安装 ...

  8. (转)Debug Assertion Failed! Expression: _pFirstBlock == pHead

      最近在VS上开发C++程序时遇到了这个错误: Debug Assertion Failed! Expression:_pFirstBlock == pHead 如图: 点击Abort之后,查看调用 ...

  9. Java 大型系统高并发大数据的处理方式

    页面静态化 (页面层面的缓存) 缓存 (memcached.redis等,数据缓存.避免多次请求) 集群负载均衡(单机处理能力不足) 分库分表(大量数据的处理.原则分.分.分) 读写分离 队列.MQ. ...

  10. Springmvc 上传文件MultipartFile 转File

    转自:http://blog.csdn.net/boneix/article/details/51303207 业务场景:ssm框架 上传文件到应用服务器过程中要传到专有的文件服务器并返回url进行其 ...