asp.net使用jQuery Uploadify上传附件示例

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>