首页 > 代码库 > 同一页面,使用多个 KindEditor 和 uploadify

同一页面,使用多个 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="http://www.mamicode.com/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 = ""; //对应表格IDvar _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 =http://www.mamicode.com/="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="http://www.mamicode.com/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="http://www.mamicode.com/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;            }        }