我最近了解了TinyMCE,并将它的4.3版本应用到我的项目中,以帮助保存描述。
为了同样的目的,它还要求上传并显示在编辑器中的图像。
在搜索之后,我发现创建一个PHP或ASP.NET项目会很容易,该项目有很多关于TinyMCE的帮助和插件,但是对于J2EE或Servlet/JSP则没有或更少。
目前,我的代码站在这里:
TinyMCE脚本:
tinymce.init({
selector: '#description',
plugins: "image link imagetools codesample emoticons paste autoresize textcolor table preview",
menubar:false,
statusbar: false,
toolbar1: 'insertfile undo redo | styleselect | table | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
toolbar2: 'preview | forecolor backcolor | codesample emoticons',
automatic_uploads: true,
paste_data_images: true,
images_upload_base_path: '/uploaded/images',
file_picker_handler: function (blobInfo, success, failure) {
var xhr, formData;
xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.open('POST', '/uploadFile');
xhr.onload = function() {
var json;
if (xhr.status != 200) {
failure('HTTP Error: ' + xhr.status);
return;
}
json = JSON.parse(xhr.responseText);
if (!json || typeof json.location != 'string') {
failure('Invalid JSON: ' + xhr.responseText);
return;
}
success(json.location);
};
formData = new FormData();
formData.append('file', blobInfo.blob(), fileName(blobInfo));
xhr.send(formData);
}
});
Servlet:创建并测试
FileUploader
servlet,路径定义为/uploadFile
。
servlet工作正常,并返回JSON对象{ location : '/uploaded/images/filename.jpg' }
但这里的两个密码是不互相交流的。
问题是,TinyMCE没有内置的文件资源管理器,可以在将其单独上传到文本区域之前将其上传到文本区域,而是将图像的URL直接传递到<image>
标记中,而不上传实际文件。
有人能帮我抓取TinyMCE异步图像上传功能吗?我试着浏览了像这和这这样的链接,但是它似乎不起作用。
另外,我也不知道它是如何被标记为How to upload files to server using JSP/Servlet?
的--这是一个非常容易的部分,主要问题是How to call *FileUpload* servlet to upload images with TinyMCE in a Java Web App?
如果需要更多的解释,请告诉我。
阿西夫
发布于 2015-12-18 15:13:02
TinyMCE网站有一个PHP示例(如您所述)。基本过程是TinyMCE将为每个映像创建一个单独的HTTP。它将把HTTP发送到您在images_upload_url
中提供的URL。
图像处理程序必须做任何需要做的事情,以便在应用程序中“存储”图像。这可能意味着:
选择存储图像的...regardless,您的图像处理程序需要返回一行JSON,告诉TinyMCE图像的新位置。正如TinyMCE文档中所引用的,如下所示:
{ location : '/uploaded/image/path/image.png' }
然后,TinyMCE将将图像的src属性更新为您返回的值。如果您在init中使用images_upload_base_path
设置,则该设置将被添加到返回的位置。TinyMCE页面提供了有关所有这些的更多详细信息:
https://www.tinymce.com/docs/advanced/handle-async-image-uploads/
https://stackoverflow.com/questions/34357627
复制相似问题