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>