Плагин TinyMCE PowerPaste не всегда создает строку base64 для изображений при копировании

#javascript #c# #tinymce

#javascript #c# #tinymce

Вопрос:

Я автоматически использую плагин TinyMCE PowerPaste для копирования и вставки содержимого из Microsoft Word и других источников HTML. Я настраиваю значение true powerpaste_allow_local_images, чтобы разрешить автоматическую загрузку локальных изображений в виде изображений в кодировке Base64, и это работает идеально, если я копирую и вставляю из пакета Microsoft Office, такого как Microsoft Word и Outlook. Однако, если я копирую и вставляю изображения из других источников html (например, Gmail, Google docs и т. Д.), Они не загружаются как base64, вместо этого tinymce создает ссылку на текущее онлайн-местоположение изображения. Мне всегда нужны изображения в кодировке base64, чтобы сохранить их в БД, мне интересно, как я могу заставить tinymce создать строку base64 для всех копируемых изображений.

Ценю любые предложения,

Ответ №1:

PowerPaste вводит изображения из содержимого MS Word, потому что Word помещает «локальное» изображение в содержимое (например file:///path/to/image.png ). Когда PowerPaste видит это локальное изображение, он захватывает двоичный файл изображения из формата RTF в буфере обмена — вот почему вы получаете изображение в кодировке Base64 при копировании / вставке из Word.

Если вы копируете / вставляете из какого-либо онлайн-ресурса (например, что-то открытое в браузере), «локального» изображения нет — в HTML есть только соответствующий <img> тег. Поскольку нигде в буфере обмена нет двоичного файла изображения, PowerPaste не создаст изображение в кодировке Base64.

В этой ситуации PowerPaste работает точно так, как ожидалось.

Пожалуйста, обратите внимание, что если вы являетесь клиентом, который приобрел PowerPaste, вы можете получить поддержку от нашей службы поддержки (support.ephox.com ).