2016-10-05 2 views
1

У меня есть это поле ввода в моей форме для загрузки файла.Jsf inputFile размер файла

<h:form id="stammdaten" enctype="multipart/form-data"> 
<h:inputFile id="profileImage" value="#{stammdatenController.file}" /> 
</h:form> 

Над кодом загружать файл должным образом. Но проблема в том, что если я выберу файл размером более 1 Мб, он не будет загружен. Загружаются только файлы размером менее 1 Мб.

Как увеличить этот предел загрузки файла до 2 Мб?

Edit: мой web.xml

<servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>*.xhtml</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
     <welcome-file>index.xhtml</welcome-file> 
    </welcome-file-list> 

    <session-config> 
     <session-timeout>30</session-timeout> 
    </session-config> 

    <context-param> 
     <param-name>primefaces.CLIENT_SIDE_VALIDATION</param-name> 
     <param-value>true</param-value> 
    </context-param> 
    <context-param> 
     <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name> 
     <param-value>0</param-value> 
    </context-param> 
    <context-param> 
     <param-name>javax.faces.PROJECT_STAGE</param-name> 
     <param-value>Development</param-value> 
    </context-param> 
    <context-param> 
     <param-name>facelets.SKIP_COMMENTS</param-name> 
     <param-value>true</param-value> 
    </context-param> 
<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

и моя поддержка боб:

private Part file; 

    public void upload() throws IOException{ 
     try (InputStream input = file.getInputStream()) { 
      FileUtils.copyToFile(input, new File("/home/john/Pictures/uploads/test.jpg")); 
     } 
} 
+0

Нулевая Информация об используемом JSF ('ч : inputFile' имеет (имел?) столько проблем в Mojarra), нулевая информация об использовании d server (и эти проблемы почти всегда связаны с сервером/конфигурацией), нулевая информация об ошибке (вы выбираете файл и абсолютно ничего не происходит?). У вас есть 'multipart-config' в' web.xml'? –

+0

Я обновил свой вопрос с дополнительной информацией. Просто примечание, я не делал никакого сервера/config для загрузки файла. И, если я отправлю форму, в журнале сервера нет ошибки, я перенаправлен на ту же страницу после отправки формы. – asdlfkjlkj

+0

Информация о сервере важна, поскольку все серверы имеют ограничение по размеру почты, которое необходимо настроить с помощью определенных параметров сервера. 1MB, однако, довольно низок (при условии, что вы подразумеваете MB вместо Mb, конечно). – BalusC

ответ

0

Обновите web.xml:

<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    <multipart-config> 
     <max-file-size>put_your_desired_value</max-file-size> 
     <max-request-size>also_here_request_size</max-request-size> 
     <file-size-threshold>and_here_in_bytes</file-size-threshold> 
    </multipart-config> 
</servlet> 
+0

К сожалению, это не работает. Я думаю, что мне не хватает чего-то простого здесь. После того, как я отправлю форму, страница просто обновится. Он фактически не отправляет форму на сервер. – asdlfkjlkj

Смежные вопросы