同一页面,使用多个 KindEditor 和 uploadify

 <table border="0" cellpadding="0" cellspacing="0" class="panel_tb">

                    <tr>

                        <td class="left1">

                            标题:

                        </td>

                        <td class="left2">

                            <input type="text" runat="server" style="width: 98%" id='txt_PMD_Title' />

                        </td>

                    </tr>

                    <tr>

                        <td class="left1">

                            密码:

                        </td>

                        <td class="left2">

                            <asp:TextBox ID="txt_PM_Password" CssClass="large_box" TextMode="Password" runat="server"

                                Style="width: 90%"></asp:TextBox>

                            <asp:RequiredFieldValidator ID="rfv_txt_PM_Password" runat="server" ControlToValidate="txt_PM_Password"

                                ErrorMessage="*"></asp:RequiredFieldValidator>

                        </td>

                    </tr>

                    <tr>

                        <td class="left1">

                            关键词:

                        </td>

                        <td class="left2">

                            <input type="text" runat="server" style="width: 70%" id='txt_PMD_Keyword' />

                            <font color="red">(*请用英文逗号分割关键词)</font>

                        </td>

                    </tr>

                    <tr>

                        <td colspan="2">

                            <asp:HiddenField runat="server" ID="hidProdcutModelDetailID" />

                            <asp:HiddenField runat="server" ID="hidDetailTypeID" Value='<%=PMDTypeID%>' />

                            <textarea runat="server" name="txt_PMD_Contents" style="width: 100%; padding: 4px;"

                                rows="15" id='txt_PMD_Contents'></textarea>

                        </td>

                    </tr>

                    <tr>

                        <td class="left1">

                            附件上传:

                        </td>

                        <td class="left2" colspan="3">

                            <div id="fileQueue">

                            </div>

                            <input type="file" name='uploadify' id='uploadify_<%=PMDTypeID%>' />

                            <input type="button" id='uploadsubmit' name="uploadsubmit" class="uploadify-button"

                                value="上传" onclick='upload(uploadify_<%=PMDTypeID%>)' style="width: 80px; height: 25px;

                                border: none; cursor: pointer;" />

                        </td>

                    </tr>

                    <tr>

                        <td class="left1">

                            已上传附件列表:

                        </td>

                        <td class="left2" colspan="3">

                            <div class="tb_upload">

                                <table id='tb_upload_<%=PMDTypeID%>' cellpadding="0" cellspacing="0">

                                    <tr>

                                        <th>

                                            名称

                                        </th>

                                        <th>

                                            操作

                                        </th>

                                    </tr>

                                </table>

                            </div>

                        </td>

                    </tr>

                </table>

JS

 <script type="text/javascript">



        // <!---------------------富文本编辑器相关------------------------------begin---------->

        KindEditor.ready(function (K) {

            window.onload = function () {

                $.each($("input[id^='uploadify_']"), function (i, row) {

                    var item_uploadify = $(this);



                    var _sametable = item_uploadify.parent().parent().parent();

                    var PMD_Contents = _sametable.find("textarea[id$='txt_PMD_Contents']");

                    editor3 = K.create(PMD_Contents);

                    init_uploadify(item_uploadify);

                });

            }

        });



        // <!---------------------附件上传相关------------------------------begin---------->

        var _InfoID = '<%=ParentInfoID%>';

        var _UserID = $("#hid_CreateUserID").val();

        var _EngineeringType = '<%=EngineeringType%>';



        $.each($("table[id^='tb_upload_']"), function (i, row) {

            var _table = $(this);

            var id_table = _table[0].id;

            var _tb = id_table.substring(id_table.length - (id_table.indexOf("tb_upload_") + 1));



            $.getJSON('/Ajax/uploadify.ashx', { actiontype: 'list', IsMultiple: 1, EngineeringType: _EngineeringType, tb: _tb, id: _InfoID, IsOnlyContract: _IsOnlyContract, r: Math.random() }, function (data) {

                _table.find("tr").remove();

                var edit = '';

                if (data) {

                    _table.append("<tr><th>名称</th> <th>上传日期</th><th>创建人</th>" + (_IsShow ? "<th>操作</th>" : "") + "</tr>");

                    $.each(data, function (i, row) {

                        edit = '<tr><td class="left1"><a href="/SystemManage/UploadFiles/DownLoad.aspx?id=' + row.FileID + '" title="' + row.FileName + '" target="_blank" >' + row.FileName + '</a></td>';

                        edit += ' <td class="left2">' + JSONTOstring(row.UploadTime) + '</td><td class="left2">' + row.UploadUserName + '</td>'

                        if (_IsShow) {

                            edit += '<td class="left2"><span style="color:red">&nbsp;<a href="javascript:;" onclick="return delInfo(\'' + row.FileID + '\',\'' + row.FileType + '\')" >删除</a>&nbsp;</span></td></tr>';

                        }

                        edit += '</tr>';

                        _table.append(edit);

                    });

                }

            });

        });



        //确定保存

        function showMessage(message, isRefresh) {

            if (isRefresh) {

                art.dialog.tips(message, 2).lock();

                var win = art.dialog.open.origin; //来源页面

                if (win) { art.dialog.close(); win.reRefresh(); }

            }

            else {

                art.dialog.tips(message, 2).lock();

            }

        }



       

    </script>

MultipleUploadify.js

var _IsShow = true; //是否显示操作

var _IsContract = false; //是否上传合同

var _IsOnlyContract = false; //是否仅显示合同

var _IsFirstUpload = false; //是否第一次上传

var _tablelistid = ""; //对应表格ID

var _tb = ""; //对应附件类型



$(document).ready(function () {

    //清除cookies

    $.post('/Ajax/uploadify.ashx', { actiontype: 'clearcookies' });

});



//附件上传初始化

//window.onload = function () {



function init_uploadify(item_uploadify) {

    item_uploadify.uploadify({

        'swf': '/Scripts/uploadify/uploadify.swf?var=' + (new Date()).getTime(),

        'uploader': '/Ajax/uploadify.ashx',

        'debug': false,

        'queueSizeLimit ': 5,

        'auto': false, //选中文件后,自动上传

        'multi': true, //允许上传多个文件

        'fileTypeExts': '*',

        'fileSizeLimit': '100MB',

        'buttonText': '选择',

        'method': 'get',

        'progressData': 'percentage',

        'width': 127,

        'height': 30,

        'onUploadSuccess': function (file, data, response) {

            if (data && parseInt(data) > 0) {

                $.post('/Ajax/uploadify.ashx', { actiontype: 'filecookies', id: data }, function (data) {

                    _IsFirstUpload = true;

                    MultipleFilelist();

                    art.dialog.tips('上传成功');



                }); //更新cookies

            }

            else if (_InfoID && data == "True") {

                _IsFirstUpload = true;

                MultipleFilelist();

                art.dialog.tips('上传成功', 2);



            }

            else {

                art.dialog.tips('上传失败', 2);

            }

        },

        'onUploadError': function (file, errorCode, errorMsg) {

            art.dialog.tips(errorMsg, 3);

        }



    });

}

//}











//上传附件

function upload(id_uploadify) {

    var item_uploadify = $(id_uploadify);



    var _sametable = item_uploadify.parent().parent().parent();

    _tablelistid = _sametable.find("table[id^='tb_upload_']");

    var id_table = _tablelistid[0].id;

    _tb = id_table.substring(id_table.length - (id_table.indexOf("tb_upload_") + 1));



    if (_InfoID) {

        $(item_uploadify).uploadify("settings", 'uploader', '/Ajax/uploadify.ashx?actiontype=MultipleAddFileByID&EngineeringType=' + _EngineeringType + '&tb=' + _tb + '&id=' + _InfoID + '&UserID=' + _UserID);

    }

    else {

        $(item_uploadify).uploadify("settings", 'uploader', '/Ajax/uploadify.ashx?actiontype=addfile&UserID=' + _UserID + '&EngineeringType=' + _EngineeringType + '&tb=' + _tb);

    }

    $(item_uploadify).uploadify("upload", "*");

}

//附件列表

function MultipleFilelist() {





    if (_InfoID != '0')

        _IsFirstUpload = false;

    if (!_IsFirstUpload) {





        $.getJSON('/Ajax/uploadify.ashx', { actiontype: 'list', IsMultiple: 1, EngineeringType: _EngineeringType, tb: _tb, id: _InfoID, IsOnlyContract: _IsOnlyContract, r: Math.random() }, function (data) {

            _tablelistid.find("tr").remove();

            var edit = '';

            if (data) {

                _tablelistid.append("<tr><th>名称</th> <th>上传日期</th><th>创建人</th>" + (_IsShow ? "<th>操作</th>" : "") + "</tr>");

                $.each(data, function (i, row) {

                    edit = '<tr><td class="left1"><a href="/SystemManage/UploadFiles/DownLoad.aspx?id=' + row.FileID + '" title="' + row.FileName + '" target="_blank" >' + row.FileName + '</a></td>';

                    edit += ' <td class="left2">' + JSONTOstring(row.UploadTime) + '</td><td class="left2">' + row.UploadUserName + '</td>'

                    if (_IsShow) {

                        edit += '<td class="left2"><span style="color:red">&nbsp;<a href="javascript:;" onclick="return delInfo(\'' + row.FileID + '\',\'' + row.SrcName + '\')" >删除</a>&nbsp;</span></td></tr>';

                    }

                    edit += '</tr>';

                    _tablelistid.append(edit);

                });

            }

        });

    }

    else {

        $.getJSON('/Ajax/uploadify.ashx', { actiontype: 'listbycookies', tb: _tb, r: Math.random() }, function (data) {

            _tablelistid.find("tr").remove();

            var edit = '';

            if (data) {

                _tablelistid.append("<tr><th>名称</th> <th>上传日期</th><th>创建人</th>" + (_IsShow ? "<th>操作</th>" : "") + "</tr>");

                $.each(data, function (i, row) {

                    edit = '<tr><td class="left1"><a href="/SystemManage/UploadFiles/DownLoad.aspx?id=' + row.FileID + '" title="' + row.FileName + '" target="_blank" >' + row.FileName + '</a></td>'

                        + ' <td class="left2">' + JSONTOstring(row.UploadTime) + '</td><td class="left2">' + row.UploadUserName + '</td>'

                                + '<td class="left2"><span style="color:red">&nbsp;<a href="javascript:;" onclick="return delInfo(\'' + row.FileID + '\',\'' + row.FileType + '\')" >删除</a>&nbsp;</span></td></tr>';

                    _tablelistid.append(edit);

                });

            }

        });

    }

}





//删除附件(获取要删除的表格刷新)

function delInfo(idlist, FileType) {

    _tablelistid = $("#tb_upload_" + FileType + "");

    art.dialog.confirm('您确认删除操作?', function () {

        $.post('/Ajax/uploadify.ashx', { actiontype: 'delete', id: idlist },

                        function (msg) {

                            if (msg == "True") { art.dialog.tips('删除成功'); }

                            else { art.dialog.tips('删除失败').lock(); }

                            _tb = FileType;

                            MultipleFilelist();

                        }, "text");

    }, function () {

        art.dialog.tips('您取消了操作');

    });

}

//转化时间

function JSONTOstring(jsondate) {

    if (!jsondate) return "";

    var date = new Date(parseInt(jsondate.replace("/Date(", "").replace(")/", ""), 10));

    var year = date.getFullYear();

    var month = date.getMonth() + 1;

    var day = date.getDate();

    return year + "-" + month + "-" + day;

}

后台处理ashx

 //要绑定的信息id

                    string tb = context.Request["tb"];

                    if (string.IsNullOrEmpty(tb)) return;

                    //要绑定的信息id

                    string id = context.Request["id"];

                    if (string.IsNullOrEmpty(id)) return;

                    //附件

                    HttpPostedFile file = context.Request.Files["Filedata"];

                    if (file == null) { return; }

                    //操作人id

                    int UserID = Convert.ToInt32(context.Request["UserID"]);

                    if (UserID < 1) { return; }

                    ///工程资料类型

                    string EngineeringType = context.Request["EngineeringType"];

                    context.Response.Charset = "utf-8";

                    context.Response.Write(AddFile(file, UserID, id, tb, EngineeringType, true));
 /// <summary>

        /// 信息编辑时,上传附件

        /// </summary>

        /// <param name="file"></param>

        /// <param name="UserID"></param>

        /// <param name="infoid"></param>

        /// <param name="tb"></param>

        /// <param name="srcname"></param>

        /// <param name="IsMultiple">是否页面内多上传控件</param>

        /// <returns></returns>

        private int AddFile(HttpPostedFile file, int UserID, string infoid, string tb, string srcname, bool IsMultiple)

        {

            if (file != null && !string.IsNullOrEmpty(file.FileName))

            {

                //上传图片

                string FilePath = "/UploadFiles/";

                string strFileName = System.IO.Path.GetFileName(file.FileName);

                string strNewName = bell0769.Common.StringPlus.GetKEY("File_");

                string FileName = strFileName.Substring(0, strFileName.IndexOf(".")) + "";

                string FileType = System.IO.Path.GetExtension(strFileName);

                Double FileSize = file.ContentLength / 1024;

                string strFileSize = string.Empty;

                if (FileSize > 1024)

                {

                    strFileSize = (FileSize / 1024).ToString() + "MB";

                }

                else

                {

                    strFileSize = FileSize.ToString() + "KB";

                }

                string strFileSavePath = FilePath + strNewName + FileType;

                string strFilePathAndName = System.Web.HttpContext.Current.Server.MapPath(strFileSavePath);

                while (System.IO.File.Exists(strFilePathAndName))

                {

                    strNewName = bell0769.Common.StringPlus.GetKEY("File_");

                    strFileSavePath = FilePath + strNewName + FileType;

                    strFilePathAndName = System.Web.HttpContext.Current.Server.MapPath(strFileSavePath);

                }



                string strFile = System.Web.HttpContext.Current.Server.MapPath(FilePath + strNewName + FileType);//原图

                file.SaveAs(strFile);



                //添加数据

                Bms_UploadFilesModel info = new Bms_UploadFilesModel();

                info.FileExt = FileType;

                info.FileName = strFileName;

                info.FilePath = strFileSavePath;

                info.FileSize = strFileSize;

                info.FileCode = strNewName;

                info.UploadUser = UserID;

                info.UploadUserName = new Bms_UserInfoBLL().Get(UserID).UserName;

                info.DataKey = infoid;

                ///上传附件类型

                if (!IsMultiple)

                    info.FileType = CommonBLL.GetOperateInfoID(tb);

                else

                    info.FileType = int.Parse(string.IsNullOrEmpty(tb) ? "-97" : tb);

                info.SrcName = srcname;//(附件、合同) 或(工程资料类型)

                int id = new Bms_UploadFilesBLL().Create(info, UserID);

                return id;



            }

            else

            {

                return 0;

            }

        }

你可能感兴趣的:(kindeditor)