0
我有一个接缝2.2.2应用程序,我试图自定义ckeditor fileUpload插件。java中使用apache fileUpload自定义ckeditor fileUpload parseRequest返回空列表
我想出解决的办法是:
1)初始化编辑与 '编辑' 样式类的所有元素:
var elements = CKEDITOR.document.find('.editor');
for(var i = 0; i< elements["$"].length; i++){
CKEDITOR.replace(elements["$"][i], {
filebrowserUploadUrl: rootPath + "/cops/filebrowserUploadUrl.seam"
});
}
2)设置filebrowserUploadUrl.seam,什么也不做,但执行:
#{attachmentController.sendImageToServer()}
3)实现后端与Apache通用FileUpload:
public void sendImageToServer()
{
HttpServletRequest request = ServletContexts.instance().getRequest();
DiskFileItemFactory factory = new DiskFileItemFactory();
File repository = (File) request.getAttribute("javax.servlet.context.tempdir");
factory.setRepository(repository);
ServletFileUpload upload = new ServletFileUpload(factory);
try
{
List<FileItem> items = upload.parseRequest(request);
processItems(items); //set the file data to specific att
saveOpenAttachment(); //save the file to disk
}
这种方法称为好。我可以在请求中去除一个上传参数(带有一些二进制数据),但upload.parseRequest(request)返回一个空列表。我已经搜索了这个问题,我做了我能做的所有事情,但我无法确定应用程序自定义FaceletViewHandler是否导致此问题。 虽然如果我能找到解决这个问题的方法,我会非常满意,但我觉得这不是一个好的解决方案。也许Seam和facelets的集成可以给我一个更好的解决方案。我真的不知道。 有什么建议吗?
我得到的建议工作通过列表 items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request)在bean上并设置 在我的components.xml文件中。但仍有疑问:任何其他的url模式都会崩溃。有谁知道为什么? –