1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          富文本編輯器 KindEditor 的基本使用 文件上傳 圖片上傳

          來源:互聯網轉載 時間:2024-01-29 08:02:16

          富文本編輯器 KindEditor

          富文本編輯器,Rich Text Editor , 簡稱 RTE , 它提供類似于 Microsoft Word 的編輯功能。

          常用的富文本編輯器:

          KindEditor http://kindeditor.net/
          UEditor http://ueditor.baidu.com/website/
          CKEditor http://ckeditor.com/

          基本使用

          <!DOCTYPE html><html>    <head>        <title></title>        <link rel="stylesheet" href="themes/default/default.css" />        <script charset="utf-8" src="kindeditor-all.js"></script>        <script charset="utf-8" src="lang/zh-CN.js"></script>        <script>            var editor;            KindEditor.ready(function(K) {                editor = K.create('textarea[name="content"]', {                    allowFileManager : true,                    items : [                        'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste',                        'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',                        'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',                        'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',                        'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',                        'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage',                        'flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak',                        'anchor', 'link', 'unlink', '|', 'about'                    ]                });            });        </script>    <head/>    <body>        <form>            <textarea name="content" style="width:800px;height:400px;">KindEditor</textarea>        </form>    </body></html>
          工具欄中圖片上傳的表單 name 值為 imgFile
          <input type="file" class="ke-upload-file" name="imgFile" tabindex="-1">
          圖片上傳前后端接口,必須返回這樣格式的 json 字符串,才會回調 afterUpload 屬性指定的回調函數。
          {"error":0, "url": "http://www.baidu.com/tupian.jpg"}{"error":1, "message": "文件上傳失敗"}upload_json.jsp 文件中的內容obj.put("error", 0);obj.put("url", saveUrl + newFileName);obj.put("error", 1);obj.put("message", message);
          //前臺使用 afterUpload 指定文件上傳回調函數,可以接收3個參數,url data name 。afterUpload: function() {    // alert(url);    // alert(data);    // alert(name);}

          圖片上傳

          請求參數 服務器響應數據 回調函數

          1. 請求參數

          ? imgFile: 文件form名稱
          ? dir: 上傳類型,分別為image、flash、media、file

          POST參數    imgFile: form 文件表單項的 name 屬性值    dir: 上傳類型,分別為image、flash、media、file    返回格式(JSON)原文:https://blog.csdn.net/a623982022/article/details/78883485 實例http://localhost:9102/upload2.do?dir=imageContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryAlzILycWoCrusx1z
          1. 服務器響應數據
          //成功時{        "error" : 0,        "url" : "http://www.example.com/path/to/file.ext"}//失敗時{        "error" : 1,        "message" : "錯誤信息"}
          1. 回調函數

            1. url 表示上傳成功時返回的文件url地址
            2. data 服務器響應的json對象
            3. name 上傳類型,如:圖片上傳,多圖片上傳,文件上傳。取值: image multiimage insertfile

            注意:參數是按照位置給值的,如果回調只有一個參數,那么就表示 url , 如果回調有2個參數,那么依次表示 (url, data) , 如果回調有3個參數,那么依次表示 (url, data, name)

              var editor;    KindEditor.ready(function(K) {        editor = K.create('textarea[name="content"]', {            allowFileManager : true,            items:['fontname', 'fontsize', 'forecolor', 'hilitecolor', 'bold',                'italic', 'underline', 'removeformat', 'justifyleft', 'justifycenter', 'justifyright',                'insertorderedlist', 'insertunorderedlist', 'emoticons', 'image', 'multiimage', 'insertfile'            ],            uploadJson: "../upload2.do",            allowImageRemote: false,            afterUpload: function(url, data, name) {                alert(url);                alert(data);                alert(name);//如果是單張圖片,則 name="image"            }        });    });
          單圖片上傳交互數據
          前臺的請求http://localhost:9102/upload2.do?dir=imageContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryAlzILycWoCrusx1z后臺的響應{"error":0,"url":"http://192.168.25.133/group1/M00/00/00/wKgZhV0gazKAa_6GAAAItlg8JxI168.png"}
          多圖片上傳

          通過多次單圖片上傳實現,afterUpload 上傳回調函數被調用多次。

          單圖片上傳返回結果
          文件上傳后臺程序
          @RestControllerpublic class UploadController {    @Value("${FILE_SERVER_URL}")    private String FILE_SERVER_URL;    @RequestMapping("/upload")    public Result upload(@RequestParam("imgFile") MultipartFile file){        try {            FastDFSClient fastDFSClient = new FastDFSClient("classpath:config/fdfs_client.conf");            //獲取擴展名            String originalFilename = file.getOriginalFilename();            String extName = originalFilename.substring(originalFilename.lastIndexOf('.') + 1);            String fileId = fastDFSClient.uploadFile(file.getBytes(), extName);            String url = FILE_SERVER_URL + fileId;            return new Result(true, url);        } catch (Exception e) {            e.printStackTrace();        }        return new Result(false, "文件上傳失敗");    }    @RequestMapping("/upload2")    public Map upload2(@RequestParam("imgFile") MultipartFile file){        try {            FastDFSClient fastDFSClient = new FastDFSClient("classpath:config/fdfs_client.conf");            //獲取擴展名            String originalFilename = file.getOriginalFilename();            String extName = originalFilename.substring(originalFilename.lastIndexOf('.') + 1);            String fileId = fastDFSClient.uploadFile(file.getBytes(), extName);            String url = FILE_SERVER_URL + fileId;            Map map = new HashMap<>();            map.put("error", 0);            map.put("url", url);            return map;        } catch (Exception e) {            e.printStackTrace();        }        Map map = new HashMap<>();        map.put("error", 1);        map.put("message", "文件上傳失敗");        return map;    }}
          文件上傳

          自動回顯文件名 超鏈接的文本顯示為原始文件名

          ? 配置 items 中的 insertfile

          1. 上傳文件后,在 kindeditor 窗口中顯示超鏈接的文本是原始文件名,而不是超鏈接的 url 地址。

          方案:

          KindEditor 4.1.10 (2013-11-23) 文件上傳對話框中,可以通過文件說明,來指定超鏈接的文本。但是不會自動回顯原來的上傳文件名。

          1. 上傳文件對話框中的文件說明如何自動回顯文件名。
          <!-- 上傳文件對話框中,文件說明文本框 name 屬性的值為 title --><input type="text" id="keTitle" class="ke-input-text" name="title" value="" style="width:160px;">
          /*insertfile.js 中文件上傳的內置上傳回調函數,如果沒有出錯,設置 url 輸入框的值,然后調用用戶定義的上傳回調函數。*/afterUpload : function(data) {    dialog.hideLoading();    if (data.error === 0) {        var url = data.url;        if (formatUploadUrl) {            url = K.formatUrl(url, 'absolute');        }        urlBox.val(url);        if (self.afterUpload) {            self.afterUpload.call(self, url, data, name);        }        alert(self.lang('uploadSuccess'));    } else {        alert(data.message);    }}

          方案:

          1. 修改服務器端程序,將原文件名添加到返回數據中。
          Map map = new HashMap<>();map.put("error", 0);map.put("url", url);map.put("filename", originalFilename);//將原文件名添加到返回數據中return map;
          1. 文件上傳回調函數中,設置文件說明表單項的值為原文件名。
          方式一:在自定義文件上傳回調函數中設置文件說明表單項的值為原文件名

          ? 分析發現,文件上傳對話框中的文件說明表單項的 id 值為 keTitle,在自定義上傳回調函數中獲取文件說明元素,并設置它的值為原文件名。

          var editor;KindEditor.ready(function(K) {    editor = K.create('textarea[name="content"]', {        allowFileManager : true,        items:[image','multiimage', 'insertfile'],        uploadJson: "../upload2.do",        allowImageRemote: false,        allowFileUpload: true,        //自定義上傳回調函數,如果是上傳文件,則設置文件說明為原文件名,原文件名的數據由服務器返回。        afterUpload: function(url, data, name) {            if(name === 'insertfile'){                $("#keTitle").val(data.filename);            }            console.log(url);            console.log(data);            console.log(name);        }    );});

          成功自動回顯文件名

          方式二 修改 insertfile.js 文件,在插件的內置上傳回調函數中,設置文件說明表單項的值。
          // 修改 insertfile.js 文件, kindeditor\kindeditor-4.1.10\plugins\insertfile\insertfile.jsvar urlBox = K('[name="url"]', p),    viewServerBtn = K('[name="viewServer"]', p),    titleBox = K('[name="title"]', p);//文件說明表單項元素if (allowFileUpload) {    var uploadbutton = K.uploadbutton({        button : K('.ke-upload-button', p)[0],        fieldName : filePostName,        url : K.addParam(uploadJson, 'dir=file'),        extraParams : extraParams,        afterUpload : function(data) {            dialog.hideLoading();            if (data.error === 0) {                var url = data.url;                if (formatUploadUrl) {                    url = K.formatUrl(url, 'absolute');                }                urlBox.val(url);                titleBox.val(data.filename);//設置文件說明表單項元素的值為原文件名,原文件名由服務器端返回。                if (self.afterUpload) {                    self.afterUpload.call(self, url, data, name);                }                alert(self.lang('uploadSuccess'));            } else {                alert(data.message);            }        },        afterError : function(html) {            dialog.hideLoading();            self.errorDialog(html);        }    });

          成功自動回顯原文件名

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          華為mate30屏幕不能做手機秤。華為手機可以當電子秤用。因為華為智能手機有稱重功能。華為手機可以稱重?,F在的華為智能手機屏幕普遍支持3DTouch壓力觸控技術,用戶按壓屏幕的力度可以實現不同的操作。然而,3DTouch顯示器重量的上限只有大約12盎司,337克。在app 希望X手機使用該功能的用戶需要確保手機具備3Dtouch功能,沒有3d touch功能就無法 體重不正常。2.準備好蘋果手機后...

          蘋果手機測距儀如何使用測田畝?蘋果 s手機自帶測量軟件。蘋果有個軟件叫測距儀 的手機。只要打開軟件,找到想要測量的位置所在的水平面,將手機移動到另一個水平面,軟件就會自動測量出這一段的距離。按照這種方法測量土地的長度和寬度后,就可以算出這塊土地的畝數了。這個軟件測出來的長度可以精確到小數點后兩位,所以這個軟件測出來的畝數還是很準確的。蘋果8p測距儀怎么用?首先打開手機自帶的測距儀。進入頁面后,按照...

          什么是保險絲?保險絲的作用:過流保護和過熱保護。用于過電流保護的熔斷器通常稱為熔斷器(也稱為限流熔斷器)。用于過熱保護的保險絲通常稱為艾默生電源柜停電告警怎么做?我們最常見的問題是艾默生UPS電源保險絲損壞。艾默生UPS電源保險絲損壞并不像有些人想的那樣,說明啟動后沒有反應。大多數情況下表現為電源開關打開后,艾默生UPS電源處于逆變狀態,無法轉入市電穩壓狀態。由于電源的熔絲管位于市電的進線處,熔絲...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>