2013-12-17 1 views
5

Wenn ich die Registerkarte "Quick Upload" zum Hochladen einer Datei verwende, wird die URL nach einem erfolgreichen Upload nicht an die Registerkarte "Image Info" übergeben. Wenn ich nach einem erfolgreichen Upload OK von "Quick Upload" auswähle, wechselt CKFinder zur Registerkarte "Image Info" und die folgende Fehlermeldung "Image source URL is missing" erscheint. Kann jemand herausfinden, warum dies passieren könnte?CKFinder - Quick Upload übergibt die URL nach erfolgreichem Upload nicht an Info-Registerkarte

+0

Verwenden Sie CKFinder oder Dein eigener Uploader? – AlfonsoML

+0

Ich benutze CKFinders Uploader – RHPT

+0

Dann sollten Sie ihr Support-Team fragen, es scheint nicht, dass SO der richtige Ort für Ihre Frage ist. – AlfonsoML

Antwort

1

Verwenden Sie diesen Code.

In CKEditor Config -

config.filebrowserUploadUrl = "/VirtualDirectoryName/ControllerName/ActionName"; 

Ihre Aktion Methode

public class ControllerName: Controller 
    { 
     public ActionResult ActionName(HttpPostedFileBase upload, string CKEditorFuncNum, string CKEditor, string langCode) 
     { 
      if (upload != null) 
      { 
       string fileName = Guid.NewGuid() + Path.GetExtension(upload.FileName); 

       string basePath = Server.MapPath("~/Uploads"); 
       upload.SaveAs(basePath + "\\" + fileName); 

       string url = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath + "/Uploads/" + fileName; 

       HttpContext.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + url + "\");</script>"); 
       HttpContext.Response.End(); 
      } 

      return View(); 
     } 
    } 
0

Es ist für mich arbeiten mit CKEditor 4. Sie können wie folgt versuchen:

public ActionResult uploadnow(HttpPostedFileWrapper upload, string CKEditorFuncNum) 
    { 
     string path = ""; 
     string pathWeb =""; 
     if (upload != null) 
     { 
      string ImageName = upload.FileName; 
      string extention = Path.GetExtension(ImageName); 
      string name = DateTime.Now.ToString("yyMMddhhmmssms"); 
      ImageName = name + extention; 
      pathWeb = "/images/uploads/" + ImageName; 
      path = System.IO.Path.Combine(Server.MapPath("~/images/uploads"), ImageName); 
      upload.SaveAs(path); 
      HttpContext.Response.Write("<script>window.parent.CKEDITOR.tools.callFunction(" + CKEditorFuncNum + ", \"" + pathWeb + "\");</script>"); 
      HttpContext.Response.End(); 
     } 
     return View(); 
    } 
Verwandte Themen