#javascript #c# #asp.net #ckeditor
#javascript #c# #asp.net #ckeditor
Вопрос:
Я пытаюсь использовать ссылку плагина загрузки изображения CKEditor для загрузки вставленного изображения в редактор с помощью пользовательского метода загрузки, потому что я не хочу сохранять текст со всеми данными изображения base6, которые заставляют данные сохранять слишком долго, и заменять данные URL загруженного изображения. У меня есть пользовательский метод, который загружает изображение и возвращает URL веб-метода для вызова, чтобы получить изображение. В моем пользовательском методе загрузки я возвращаю объект json с URL-адресом, он работает и загружает изображение, но в атрибуте src у меня все еще есть данные base64. Это конфигурация CKEditor в моем файле javascript
CKEDITOR.replace('DESC_ARTICLEANSWER', {
language: editorlang,
toolbar: 'helpsi',
skin: 'moono',
filebrowserBrowseUrl: '/browser/browse.php',
filebrowserImageBrowseUrl: '/browser/browse.php?type=Images',
filebrowserUploadUrl: '../Common/uploadHandler.ashx?upload_type=img_ckeditor',
filebrowserImageUploadUrl: '../Common/uploadHandler.ashx?upload_type=img_ckeditoramp;CKEditorFuncNum=1amp;codeSiteId=' $('#site').val()
});
И это мой пользовательский метод в файле uploadHandler.ashx:
if ((context.Request.Form["upload_type"] == "img_ckeditor") || (context.Request.QueryString["upload_type"] == "img_ckeditor"))
{
string _atchHTML = ProcessImageCKEditor(context);
context.Response.Write(_atchHTML);
}
private string ProcessImageCKEditor(HttpContext context)
{
string _atchHTML = "";
try
{
string uploadpath = helpsi.framework.core.Configurator.Instance.getAppSettingsValue("APP_REQUEST_ATTACH_PATH");
if (!uploadpath.StartsWith("\"))
{
uploadpath = context.Server.MapPath(uploadpath);
}
string file = context.Request.Files[0].FileName;
string ext = Path.GetExtension(file);
string fileName = Guid.NewGuid().ToString() ext;
string filetoupload = Path.Combine(uploadpath, fileName);
HttpPostedFile uploads = context.Request.Files["upload"];
string CKEditorFuncNum = context.Request["CKEditorFuncNum"];
uploads.SaveAs(filetoupload);
string url = "../Common/GetAttachment.aspx?uploadedImage=1amp;FileName=" fileName;
_atchHTML = "{"uploaded": 1, "fileName": "" fileName "", "url": "" url ""}";
}
catch (Exception ex)
{
_atchHTML = "ERROR:" ex.Message;
}
return _atchHTML;
}
Вызывается метод загрузки, и он выполняется успешно, изображение сохраняется, но когда он возвращается, в вставленном изображении в редакторе все еще есть строка данных base64, а не URL, полученный при сохранении. Чего мне не хватает?
В консоли у меня есть эта ошибка относительно виджета plugin.js файл, в этой функции
function getFirstTextNode( el ) {
return el.find( function( node ) {
return node.type === 3;
}, true ).shift();
}
Ошибка неперехваченного типа: el.find не является функцией