У меня проблема с загрузкой файла с использованием Spring Webflow 1.0 и struts 1.3.Struts - Загрузка файлов
СПЯ что-то вроде этого:
<html:form action="/flowAction" method="post" enctype="multipart/form-data">
<!-- snip -->
<html:file property="file" name="attachDocumentsForm" size="50"/>
<!-- snip -->
</html:form>
Форма что-то вроде этого:
public class AttachDocumentsForm extends SpringBindingActionForm {
// note, SpringBindingActionForm extends struts' ActionForm
private FormFile file;
//snip
}
Теперь моя проблема в том, что когда я отправить форму, то file
поле всегда null
, Остальные поля в форме заполняются правильно, и если я выкапываю RequestContext
, я могу найти файл, который захоронен в некоторых структурах данных.
Вот ужасно некрасиво так, что я могу получить в приложении:
// 'context' is the RequestContext
ServletExternalContext servletExternalContext = (ServletExternalContext) context.getExternalContext();
ActionForm form = (ActionForm) servletExternalContext.getRequest().getAttribute("actionForm");
FormFile file = (FormFile) form.getMultipartRequestHandler().getFileElements().get("file");
Я заметил, что MultipartRequestHandler
на моей форме null
, и я подозреваю, что это может быть частью проблема, но я пробовал заполнить его экземпляром CommonsMultipartRequestHandler
безрезультатно.
Что нужно сделать, чтобы поле file
было заполнено правильно?
Если вы не в состоянии получить файл из ActionForm аксессора, используя (FormFile) form.getFile()? –