Вышеупомянутый ответ будет работать (я дал ему голосование), но если у вас включен токен csrf на сайте, вам нужно сделать несколько дополнительных вещей (я бы оставил комментарий, но мой представитель не достаточно высок еще):
Добавить стандартный CSRF скрытый вход в форме, CKEditor используется в:
<input type="hidden" name="_csrf" value="<%= _csrf %>" id="csrf" />
Далее, добавьте следующие строки в CKEditor/CKEditor.JS вокруг линии 498.
var csrf = document.getElementsByName("_csrf");
var token = csrfitems[0].defaultValue;
Затем нужно добавить скрытый вход в форме, что загрузчик использует на линии 499 ckeditor.js
<input type="hidden" name="_csrf" value="' + token + '" id="csrf" />
Здесь сплошная линия 499 раз увидеть это в контексте:
var csrf = document.getElementsByName("_csrf");var token = csrfitems[0].defaultValue;
d.$.write(['<html dir="'+g+'" lang="'+i+'"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">','<form enctype="multipart/form-data" method="POST" dir="'+g+'" lang="'+i+'" action="',CKEDITOR.tools.htmlEncode(f.action),
'"><label id="',a.labelId,'" for="',h,'" style="display:none">',
CKEDITOR.tools.htmlEncode(f.label),
'</label>
<input type="hidden" name="_csrf" value="' + token + '" id="csrf" /><input style="width:100%" id="',h,'" aria-labelledby="',a.labelId,'" type="file" name="',CKEDITOR.tools.htmlEncode(f.id||"cke_upload"),
Надеюсь, это избавит некоторых людей от головных болей, которые мне пришлось пройти. Это может быть не самое элегантное решение, но это позволит загрузчику работать на вашем сайте парусов.
Большое спасибо за то, что вы предлагаете эту полную запись, даже не торопитесь ответить на свой вопрос Q с ответом, который вы нашли :-) Где и у вас может быть ваш последний и полный рабочий код, например, Github или https: //gist.github.com? -I, и, конечно же, другим хотелось бы, чтобы этот пример загружался, играл и расширялся. –
Спасибо! Конечно, здесь вы находитесь: https://github.com/sca-/sails-ckeditor-sample –
Загрузка файлов происходит. но как просматривать изображения с сервера. Это не работает. –