CKFinder - Быстрая загрузка не передает URL-адрес на вкладку «Информация об изображении» после успешной загрузки

Когда я использую вкладку «Быстрая загрузка» для загрузки файла, URL-адрес не передается на вкладку «Информация об изображении» после успешной загрузки. Если я выберу «ОК» в «Быстрой загрузке» после успешной загрузки, CKFinder переключится на вкладку «Информация об изображении» и появится следующее сообщение об ошибке «URL-адрес источника изображения отсутствует». Может ли кто-нибудь пролить свет на то, почему это может происходить?


person RHPT    schedule 17.12.2013    source источник
comment
Вы используете CKFinder или свой собственный загрузчик?   -  person AlfonsoML    schedule 22.01.2014
comment
Я использую загрузчик CKFinder   -  person RHPT    schedule 22.01.2014
comment
Тогда вам следует обратиться в их службу поддержки, не похоже, что SO - это правильное место для вашего вопроса.   -  person AlfonsoML    schedule 22.01.2014


Ответы (2)


Используйте этот код.

В конфиге CKEditor -

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

Ваш метод действий

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();
        }
    }
person Manjay_TBAG    schedule 20.08.2015

У меня работает с CKEditor 4. Вы можете попробовать так:

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();
    }
person Hong Van Vit    schedule 01.07.2017