J'ai une application seam 2.2.2 et j'essaie de personnaliser le plugin ckeditor fileUpload.Fichier custom ckeditorUpload en java avec fichier apacheUpload parseRequest renvoie la liste vide
La solution que je suis venu est:
1) l'éditeur pour init tous les éléments avec la classe de style 'éditeur':
var elements = CKEDITOR.document.find('.editor');
for(var i = 0; i< elements["$"].length; i++){
CKEDITOR.replace(elements["$"][i], {
filebrowserUploadUrl: rootPath + "/cops/filebrowserUploadUrl.seam"
});
}
2) Set filebrowserUploadUrl.seam, à ne rien faire à exécuter:
#{attachmentController.sendImageToServer()}
3) mettre en œuvre le back-end avec apache communes 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
}
Cette méthode s'appelle tout droit. Je peux déboguer un paramètre de téléchargement (avec des données binaires) à l'intérieur de la requête mais upload.parseRequest (request) retourne une liste vide. J'ai cherché ce problème et j'ai fait tout ce que je pouvais faire, mais je ne suis pas en mesure de dire si l'application personnalisée FaceletViewHandler est à l'origine de ce problème. Bien que si je pouvais trouver la solution à ce problème, je serais très satisfait, je pense que ce n'est pas une bonne solution. Peut-être que l'intégration de Seam avec des facelets pourrait me donner une meilleure solution. Je ne sais vraiment pas. Une suggestion?
Je reçois la suggestion de travail en faisant la liste articles = new ServletFileUpload (nouveau DiskFileItemFactory()) parseRequest (requête) à la fève et la mise en dans mon fichier components.xml. Mais encore un doute: tout autre modèle d'URL l'écrase. Quelqu'un sait-il pourquoi? –