как включить загрузку изображений с помощью ckeditor с asp.net 4.0 - PullRequest
1 голос
/ 14 мая 2019

У меня есть сервал страниц, который принимает форматированный текст. и я просто использую для этого контроль ckeditor. он загружен нормально. но не могу показать вкладку браузера изображений для загрузки изображений. Вот моя HTML-разметка:

<script type="text/javascript">
        $(function () {
            CKEDITOR.replace('<%=CKEditor1.ClientID %>', { filebrowserImageUploadUrl: 'Upload.ashx' });
        });
    </script>
<tr>
                                                <td style="width: 20%">Template Body
                                                </td>
                                                <td>
                                                    <CKEditor:CKEditorControl ID="CKEditor1" runat="server" ValidationGroup="AddNewTemplate" PasteFromWordRemoveFontStyles="False"></CKEditor:CKEditorControl>
                                                    <asp:CustomValidator ID="CustomValidator2" runat="server"
                                                        ErrorMessage="Template body is required."
                                                        OnServerValidate="CustomValidator2_ServerValidate"
                                                        ValidationGroup="AddNewTemplate" ForeColor="Red"></asp:CustomValidator>
                                                </td>
                                            </tr>

Вот мой файл для загрузки изображений в формате Ashx.

<%@ WebHandler Language="C#" Class="Upload" %>

using System;
using System.Web;
using System.Configuration;
using System.IO;
public class Upload : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        HttpPostedFile uploads = context.Request.Files["upload"];
       string CKEditorFuncNum = context.Request["CKEditorFuncNum"];
       string file = DateTime.Now.ToString("ddMMyyyy_HHmmss") + Path.GetExtension(uploads.FileName);
       uploads.SaveAs(context.Server.MapPath(".") + "\\EmailImages\\" + file);
       //provide direct URL here
       string url = "/EmailImages/" + file;  
      context.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + url + "\");</script>");
      context.Response.End();                     
    }

    public bool IsReusable {
        get { return false; }
    }
}

и вот мой экран ckeditor без вкладки загрузки: enter image description here

1 Ответ

0 голосов
/ 18 мая 2019

Да, одна вещь, которую мы можем сделать с контролем CKEditor. Просто посмотрите свойства элемента управления CKeditor, которые есть на странице. и просто поместите имя файла Upload.ashx, присвоенное этим свойствам.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...