2013-05-04 3 views
1

Я использую CKEditor для моего проекта asp.net C#. Как включить вкладку загрузки изображений для редактора. Я читал, что нашел некоторые статьи, но ни один из них не был полезен. некоторые из них, где для php. Я хочу для asp.net. благодарим за помощь.Включить загрузку изображения для CKEditor at asp.net

+0

Ответил уже: http://stackoverflow.com/questions/2115302/ckeditor-image-upload-filebrowseruploadurl – IrishChieftain

ответ

0

, наконец, я смог найти решение.

Я сделал две вещи, чтобы решить мою проблему.

Сначала я отредактировал файл config.ascx и установил базовый url в папку с изображениями. как показано ниже:

общественного переопределения недействительным SetConfig() {

// The base URL used to reach files in CKFinder through the browser. 
    BaseUrl = "~/images/"; 
    // The phisical directory in the server where the file will end up. If 
    // blank, CKFinder attempts to resolve BaseUrl. 
    BaseDir = ""; 
} 

и ошибка, что у меня было, что мои страницы были в папке администратора, и я был поставлен CKEditor и папку ckfinder в корне моего сайта ,

путем размещения этих файлов в папке администратора проблема.

спасибо.

4

Мне нравится http://www.codedigest.com/Articles/ASPNET/423_Upload_Images_and_Integrate_with_CKeditor_in_AspNet.aspx учебник для использования свойства filebrowserImageUploadUrl с нашей собственной реализацией файлового загрузчика. но бэттон загрузки не появился, и ничего не произошло. мой код здесь:

<head runat="server"> 

    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
    <script src="ckeditor/ckeditor.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(function() { 
      CKEDITOR.replace('<%=CKEditor1.ClientID %>', { filebrowserImageUploadUrl: '/Upload.ashx' }); 
     }); 
</script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <CKEditor:CKEditorControl ID="CKEditor1" BasePath="~/ckeditor/" runat="server" Width="600px" Height="200px"></CKEditor:CKEditorControl> 
    </div> 
    </form> 
</body> 
</html> 

и файл ASHX:

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

using System; 
using System.Web; 

public class Upload : IHttpHandler { 

    public void ProcessRequest (HttpContext context) { 
     HttpPostedFile uploads = context.Request.Files["upload"]; 
     string CKEditorFuncNum = context.Request["CKEditorFuncNum"]; 
     string file = System.IO.Path.GetFileName(uploads.FileName); 
     uploads.SaveAs(context.Server.MapPath(".") + "\\Images\\" + file); 
     string url = "/Images/" + file; 
     context.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + url + "\");</script>"); 
     context.Response.End();    
    } 

    public bool IsReusable { 
     get { 
      return false; 
     } 
    } 

} 
1

Если вы просто хотите, чтобы включить скрытую вкладку добавлять только в папке скрипта

CKEDITOR.config.extraPlugins = 'imageuploader'; 

Но будет ошибкой в ​​консоли, потому что вы должны определить ссылку, которая будет действие, загрузите файл/изображение, как

filebrowserImageBrowseUrl: 'YourController/YourAction',    
filebrowserImageUploadUrl: 'YourController/YourAction' 
Смежные вопросы