Загрузка файлов с помощью Spring Web Flow - PullRequest
0 голосов
/ 02 января 2019

Я искал и читал несколько ответов на file upload, используя Spring Web Flow, но все, кажется, дают тот же результат. Отсюда выкладываю.

public class FileUploadForm {
    private transient MultipartFile file;

    //Additional fields
}

Поток

<view-state id="start" model="fileUploadForm">
    <transition on="submit" to="submit"/>
    <transition on="cancel" to="cancel"/>
</view-state>

<action-state id="submit">
    <evaluate expression="someActions.review(fileUploadForm)" />
    <transition on="success" to="home"/>
</action-state>

1009 * JSP *

<form:form modelAttribute="fileUploadForm" enctype="multipart/form-data"> <input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}"/> <form:label path="file">Upload File</form:label> <form:input type="file" path="file"/> <button name="_eventId_upload">Upload Button</button> </form:form>

XML

<!--<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">-->
    <!--<property name="maxUploadSize" value="100000"/>-->
<!--</bean>-->

<bean id="filterMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="100000" />
</bean>

JAVA

public String review(FileUploadForm fileUploadForm) {
    LOG.info("{}", fileUploadForm.getFile().getContentType());
    return "success";
}

При LOG.info getFile равно нулю. Я получаю другие поля, заполненные в форме, но не поле файла.

Может кто-нибудь, пожалуйста, укажите мне в правильном направлении. Использование Webflow 2.5.1

1 Ответ

0 голосов
/ 02 января 2019

Попробуйте использовать обычный входной файл:

<input type="file" name="file" id="file"/>

[ПРАВКА], чтобы завершить, мой рабочий код также использует этот тег формы:

<form:form modelAttribute="fileUploadForm" action="${flowExecutionUrl}&${_csrf.parameterName}=${_csrf.token}" enctype="multipart/form-data">

и этот тип кнопки отправки:

<input type="submit" id="upload" name="_eventId_upload" value="Upload"></span>
...