我遇到了一個問題,使用TinyMCE在Handling Async Image Upload中使用Servlet作爲後端。TinyMCE未更新<img> src成功上傳圖片
主要有兩大問題:
即使使用
paste
插件和設置paste_data_images:true
後,圖像沒有得到時自動從微軟Word文字一起粘貼,純文本得到了糊和圖像越來越錯過粘貼,而當我單獨粘貼圖像時,它會被粘貼。粘貼圖像後,TinyMCE的應該上傳到異步和更新
<img>
的src
屬性由json
從後臺返回的location
財產。
現在的問題在這裏出現,當我獨自一人將圖像粘貼它在後臺被自動上傳和恰當的反應是回來與圖像的location
爲JSON,我已經驗證了與瀏覽器控制檯,並通過人工圖片插入選項。但畢竟這<img scr>
是空白,圖像變成黑色邊界。
如果有人遇到類似問題,請幫助我,而後端可以是任何事情,因爲我認爲這不是後端問題。
驗證碼:
TinyMCE:
<script type="text/javascript" charset="utf-8">
tinymce.init({
selector: '#description',
plugins: "image link imagetools codesample emoticons autoresize textcolor table preview wordcount paste",
menubar: 'edit | format | insert | table',
toolbar1: 'undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
toolbar2: 'forecolor backcolor | codesample emoticons',
automatic_uploads: true,
images_upload_url: 'uploadFile',
images_upload_credentials: true,
images_upload_base_path: '',
paste_data_images: true,
file_browser_callback_types: 'image',
convert_urls: false,
file_browser_callback: function(field_name, url, type, win) {
tinymce.activeEditor.windowManager.open({
title: "File Browser",
type: "image",
url: "uploadFile",
width: 550,
height: 200
}, {
oninsert: function(url) {
win.document.getElementById(field_name).value = url;
}
});
}
});
</script>
Back end Response after image upload:
[{ "location": "./uploaded/images/201617175645_blobid0.png" }]
<img> tag after image upload
:
<img src="" alt="" data-mce-src="" data-mce-selected="1">
Chrome的控制檯顯示也不例外或警告都同時粘貼圖像或uplooding後。請讓我知道是否有人有任何問題的解決方案或某種方式來獲得其背後的實際原因。讓我知道是否需要上面的更多解釋。
太感謝你了,我已經指出JSON陣列的問題你的回答和糾正代碼,問題1日前,非常感謝您的洞察力信息這是我從來沒有從任何地方獲得。但我的問題在於,TinyMCE文檔爲什麼說可以通過'paste_data_images'選項粘貼圖像,僅用於* base64 *,即僅用於複製圖像數據? – Asif
@Asif - 如果源是合適的,您可以將圖像粘貼到編輯器中。一些複製/粘貼和拖放的來源會導致base64或blob編碼的內容,而其他來源則不會。當源以TinyMCE可以訪問的格式提供圖像時,它應該將它們添加到內容中。你會發現這在瀏覽器中是不一致的,並且在一些使用情況下,當在不同的瀏覽器中執行時,相同的動作並不總是提供base64編碼的圖像。 –
是的,我現在看到它是如何工作的。必須忍受一些限制,如果不想多餘的$ :) – Asif