У меня есть приложение для шва 2.2.2, и я пытаюсь настроить плагин ckeditor fileUpload на него.Пользовательский ckeditor fileUpload в java с apache 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 Commons 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
}
Этот метод называется правильным. Я могу debbug параметр upload (с некоторыми двоичными данными) внутри запроса, но upload.parseRequest (запрос) возвращает пустой список. Я искал эту проблему, и я сделал все, что мог, но я не могу сказать, вызывает ли приложение пользовательский FaceletViewHandler. Хотя, если бы я смог найти решение этой проблемы, я был бы очень доволен, я чувствую, что это не очень хорошее решение. Возможно, интеграция Seam с личиками может дать мне лучшее решение. Я действительно не знаю. Любое предложение?
я получаю предложение работать, делая список элементов = новый ServletFileUpload (новый DiskFileItemFactory()) parseRequest (запрос) в компоненте и настройка <веб:. Многочастному-фильтр создание-ТЕМП-файлы = «истинные» максимизатор request-size = "1024000" url-pattern = "*" /> в моих components.xml. Но все же сомнение: любой другой url-шаблон разбивает его. Кто-нибудь знает, почему? –