CKEditor, Image Upload (filebrowserUploadUrl)

前端 未结 12 1473
误落风尘
误落风尘 2020-12-04 13:09

I\'m using CKEditor and would like to be able to allow users to upload and embed images in the Text Editor...

The following JS is what loads the CKEditor:

         


        
12条回答
  •  情歌与酒
    2020-12-04 14:12

    With CKeditor version 4 something, the editor expects JSON in return from the server side. Older version may need a text/html type of response, bearing a javascript snippet. See this link for an explanation of that Explanation of return formats. On the server side, and if you are using C#, you can make a data model like this:

    namespace editors.Models
    {
        public class PostModel
        {
            public string CKEditor { get; set; }  // for older editors
            public string CKEditorFuncNum { get; set; }  // for older editors
            public string langCode { get; set; }  // for older editors
            public int uploaded { get; set; } 
            public string filename { get; set; }
        }
    }
    

    And return the result from your upload routine with this:

    PostModel fez = new PostModel { CKEditor = "TheEditor1", CKEditorFuncNum = "1", langCode = "en", uploaded = 1, filename = "/images/in/" + filenameVariable };
    return Ok(fez);
    

    Although .net most probably makes json of it automatically, ensure you are returning content-type application/json.

    As a side-note for those wanting to check if the uploaded file really is an image file; if you are using Asp.net core, the system.drawing library needs to be installed in a non-standard way. Here's how to do that

    Also note that you can change the type of posting in the config.js file to config.filebrowserUploadMethod='form'; , as opposed to config.filebrowserUploadMethod='xhr';

提交回复
热议问题