Je rencontre un problème lors du chargement d'un fichier à l'aide de spring webflow 1.0 et de struts 1.3.Struts - Chargement de fichiers
Le jsp est quelque chose comme ceci:
<html:form action="/flowAction" method="post" enctype="multipart/form-data">
<!-- snip -->
<html:file property="file" name="attachDocumentsForm" size="50"/>
<!-- snip -->
</html:form>
Le formulaire est quelque chose comme ceci:
public class AttachDocumentsForm extends SpringBindingActionForm {
// note, SpringBindingActionForm extends struts' ActionForm
private FormFile file;
//snip
}
Maintenant, mon problème est que lorsque je soumets la forme, le champ file
est toujours null
. Les autres champs sur le formulaire sont remplis correctement, et si je creuse à travers le RequestContext
, je peux trouver le fichier est enterré profondément certaines des structures de données là.
Voici le horriblement laid façon que je peux obtenir à l'attachement:
// 'context' is the RequestContext
ServletExternalContext servletExternalContext = (ServletExternalContext) context.getExternalContext();
ActionForm form = (ActionForm) servletExternalContext.getRequest().getAttribute("actionForm");
FormFile file = (FormFile) form.getMultipartRequestHandler().getFileElements().get("file");
J'ai remarqué que le MultipartRequestHandler
sur ma forme est null
, et je pense que cela pourrait faire partie de la problème, mais j'ai essayé de le remplir avec une instance de CommonsMultipartRequestHandler
en vain.
Que dois-je faire pour que le champ file
soit rempli correctement?
ne devriez-vous être en mesure d'obtenir le fichier du accesseur ActionForm, en utilisant (FormFile) form.getFile()? –