Если data-uri все еще используется после успешной загрузки, я предполагаю, что ответ сервера не был обработан правильно, и полученный URL не может быть получен.Я протестировал предоставленный вами код адаптера, и он отлично работает (с CKFinder на стороне сервера).Я бы проверил, как выглядит ответ сервера загрузки и можно ли его правильно проанализировать.
При использовании CKFinder вы увидите:

и проанализированный ответ JSON:

Вы можете проверить, правильно ли обрабатывается ответ в вашем адаптере в:
xhr.addEventListener( 'load', () => {
const response = xhr.response;
...
}
Прослушивание успешной загрузки изображения может быть непростым делом, поскольку нет события, непосредственно связанного с ним.В зависимости от того, что именно вы пытаетесь достичь, вы можете попытаться расширить свой пользовательский загрузчик, чтобы при получении успешного ответа (и при вызове resolve()
) вы могли выполнить некоторый код.Однако в этом состоянии элемент изображения все еще не обновляется (в модели, представлении и DOM) с новым URL-адресом, а у UploadAdapter
отсутствует прямой доступ к экземпляру editor
, поэтому может быть сложно выполнить что-либо сложное.
Лучшим способом может быть прослушивание изменений модели, аналогично тому, как это делается в плагине ImageUploadEditing
( см. Код здесь ), проверяющем изменение атрибута изображения uploadStatus
:
editor.model.document.on( 'change', () => {
const changes = doc.differ.getChanges();
for ( const entry of changes ) {
const uploaded = entry.type === 'attribute' && entry.attributeNewValue === 'complete' && entry.attributeOldValue === 'uploading';
console.log( entry );
}
} );
Если оно изменяется с uploading
на complete
, это означает, что изображения были успешно загружены:

Вы также можете взглянуть на другой ответ, который показывает, как подключиться к FileRepository
API для отслеживания всего процесса загрузки - https://github.com/ckeditor/ckeditor5-image/issues/243#issuecomment-442393578.