【发布时间】:2015-12-18 14:16:03
【问题描述】:
我最近了解了 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);
}
});
小服务程序: 创建并测试了
FileUploaderservlet,路径定义为/uploadFile。
servlet 工作正常并返回 JSON 对象 { location : '/uploaded/images/filename.jpg' }
但是这里的两个代码并没有互相交流。
问题是 TinyMCE 没有内置的文件资源管理器,可以在将其传递到文本区域之前单独上传,它正在获取图像的 URL 并将其直接传递到 <image> 标签而不上传实际文件。
谁能帮我获取 TinyMCE 异步图像上传功能?我尝试浏览this 和this 等给出的链接,但它似乎不起作用。
我也不知道它是如何被标记为How to upload files to server using JSP/Servlet?的,这是一个非常简单的部分,主要问题是How to call *FileUpload* servlet to upload images with TinyMCE in a Java Web App?
如果需要更多解释,请告诉我。
阿西夫
【问题讨论】:
-
查看这些示例的副本。上传 servlet 示例绝对不依赖于 HTTP 请求的触发方式(例如纯 HTML 表单,或 Ajax 请求,甚至编程 URLConnection 客户端等)。您可能只需要弄清楚 TinyMCE 使用的请求参数,但通过检查 HTTP 请求负载很容易找到这些参数。
标签: java jsp servlets tinymce image-uploading