1.新建一个空的MVC4项目
2.添加一个Home控制器,并在Home控制器下添加一个Index视图
3.下载Flash版的uploadify,链接:Uploadify下载地址
4.解压压缩包,得到下列文件
5.单击项目UploadifyDemo,右键添加新建文件夹Uploadify,并将加压得到的:uploadify.css,jquery.uploadify.min.js,uploadify.swf,uploadify-cancel.png添加到文件夹Uploadify下,并从别处将jquery-1.8.2.min.js拷贝到该文件夹下
6.编辑Index视图
<head>
<title>Uploadify Demo</title>
<link href="~/Uploadify/uploadify.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="~/Uploadify/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="~/Uploadify/jquery.uploadify.min.js"></script>
<script type="text/javascript">
$(function () {
$("#uploadify").uploadify({
uploader: '/Home/UploadifyFun',//处理上传的方法
swf: 'Uploadify/uploadify.swf',
width: 60,
height: 23,
buttonText: "上传",
buttonCursor: 'hand',
fileobjName: 'Filedata',
fileTypeExts: '*.xlsx;*.docx',//扩展名
fileTypeDesc: "请选择xslx,docx文件",//文件说明
auto: false,//是否自动上传
multi: true,//是否一次可以选中多个文件
queueSizeLimit:5//允许同时上传文件的个数
});
});
</script>
</head>
<body>
<span id="uploadify"></span>
<div>
<a href="javascript:$('#uploadify').uploadify('upload','*');">上传</a>
<a href="javascript:$('#uploadify').uploadify('cancel', '*');">取消</a>
</div>
</body>
7.因为取消上传的图标默认是放在img文件夹下,按照我们项目的做法,需修改为Uploadify文件夹下
故将uploadify.css第74行代码修改为:
.uploadify-queue-item .cancel a {
background: url('uploadify-cancel.png') 0 0 no-repeat;
float: right;
height: 16px;
text-indent: -9999px;
width: 16px;
}
8.在Home控制器中添加文件上传处理方法
public ActionResult UploadifyFun(HttpPostedFileBase Filedata)
{
if (Filedata == null ||
String.IsNullOrEmpty(Filedata.FileName) ||
Filedata.ContentLength == 0)
{
return this.HttpNotFound();
}
string filename = System.IO.Path.GetFileName(Filedata.FileName);
string virtualPath = String.Format("~/UploadFile/{0}", filename);
string path = this.Server.MapPath(virtualPath);
Filedata.SaveAs(path);
return this.Json(new object { });
}
9.在根目录下新建文件夹UploadFile用于存放上传文件
至此:Uploadify上传文件的准备工作已经做完,下面测试
1.运行
2.选择需要上传的文件
3.上传
4.文件上传成功
这样,一个简单的Uploadify上传文件的例子就做完了,当然这只是一个很简单的实例,后面还需要继续深化