Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示。Uploadify官方网址:http://www.uploadify.com/,在MVC中使用的方法可以参考 jQuery Uploadify在ASP.NET MVC3中的使用 和 Asp.net Mvc中使用uploadify实现图片缩放保存。
本文是一个简单的介绍Demo,主要是动态传递参数方法:通过formdata 向处理程序传递额外的表单数据:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="uploadify/uploadify.css" type="text/css" rel="Stylesheet" />
<script type="text/javascript" src="uploadify/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="uploadify/swfobject.js"></script>
<script type="text/javascript" src="uploadify/jquery.uploadify.min.js"></script>
<script type="text/javascript">
$(function () {
var taskId = "<%= TaskID %>";
var activityId = "<%= ActivityId %>";
var userId = "<%= GetCurrentLoginUser().ID %>";
$("#<%=FileUpload1.ClientID %>").uploadify(
{
'swf': 'uploadify/uploadify.swf',
'uploader': 'UploadHandler.aspx',
'auto': false,
'method': 'post',
'multi': true,
'buttonText': '浏览',
'buttonImg': 'uploadify/browse.jpg',
'folder': '../uploadfile',
'fileDesc': '附件',
'onUploadStart': function (event, data) { //this is where you will send the form //data, but remember to get if from post in the .ashx file, by contex.Request["gallaryId"]
$("#<%=FileUpload1.ClientID %>").uploadify('settings', 'formData',
{ 'taskId': taskId, 'activityId': activityId, 'userId': userId, 'secInfo': $("#<%=ddlsecInfo.ClientID %>").val()} //note hiddenGallaryId would //have the gallaryId which im sending through post , make sure it is rendered in your page( //i.e.not concealed by a multiview control e.t.c)
);
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:DropDownList ID="ddlsecInfo" runat="server">
<asp:ListItem Text="公开" Value="1"> </asp:ListItem>
<asp:ListItem Text="普通" Value="2"> </asp:ListItem>
<asp:ListItem Text="机密" Value="3"> </asp:ListItem>
</asp:DropDownList>
<a href="javascript: $('#<%=FileUpload1.ClientID %>').uploadify('upload','*')">上传</a>
<a href="javascript:$('#<%=FileUpload1.ClientID %>').uploadify('cancel','*')">取消上传</a>
</form>
</body>
</html>