Problema com o Spring FileUpload

Eu tenho o seguinte bloco de código que está manipulando meu upload de arquivo de uma foto que estou usando no meu aplicativo Web Spring MVC. Estou usando o Spring MVC CommonsMultipartFileResolver para lidar com o upload de arquivos.

if(model.getPhoto() != null){
    if(!model.getPhoto().isEmpty()){
        MultipartFile file = model.getPhoto();
        String fileName = file.getOriginalFilename();
        String filePath = baseDirectory + fileName;
        FileOutputStream fos = new FileOutputStream(filePath);
         try 
         {
            fos.write(file.getBytes());
            agentProfile.setPhotoUri(fileName);
         } 
         catch (IllegalStateException e) 
         {
            System.out.println(e);

         }
         finally   
         {
             fos.close();
         }
    }
}

No meu arquivo app-servlet.xml, tenho o seguinte código para configurar o bean resolvedor MultipartFile.

 <bean id="multipartResolver"   class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
 </bean>

Estou com alguns problemas aleatórios ao carregar fotos.

1) Se eu for carregar uma foto menor, com cerca de 3 kb, ela será carregada com sucesso.

2) Se eu for carregar uma foto um pouco maior, ela criará o arquivo no diretório, mas com um tamanho de 0 bytes e fornecerá a seguinte mensagem de erro.

 java.lang.IllegalStateException: File has been moved - cannot be read again
org.springframework.web.multipart.commons.CommonsMultipartFile.getBytes(CommonsMultipartFile.java:112)
com.mmz.admin.mvc.controller.AddAgentController.processFinish(AddAgentController.java:145)
org.springframework.web.servlet.mvc.AbstractWizardFormController.validatePagesAndFinish(AbstractWizardFormController.java:642)
org.springframework.web.servlet.mvc.AbstractWizardFormController.processFormSubmission(AbstractWizardFormController.java:492)
org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:265)
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:874)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:808)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Eu tentei algumas opções diferentes para configurar o resolvedor Multipart, como alterná-lo para lidar com umCommonsMultipartFile objeto em oposição a uma planícieMultipartFile objeto, mas nada mudou.

Também tentei configurar manualmente o tamanho máximo de upload no bean CommonsMultipartFileResolver com a seguinte propriedade.

 <property name="maxUploadSize" value="1024000000"/>  

nada mudou também. Não sei ao certo o padrão do CommonsMultipartResolver quanto ao tamanho do arquivo que pode ser carregado, mas essa não é minha pergunta.

Foi-me dito que o problema que estou enfrentando é devido a um problema no analisador / manipulador de várias partes que a primavera está usando. Eu tive um post recente sobre esse mesmo problema e, como novas informações foram encontradas, queria repassar com as novas informações. A postagem antiga pode ser encontrada emCommonsMultipartFileResolver Problem

Sinto que verifiquei quase todos os recursos da Internet para encontrar documentação adicional, mas não consigo descobrir o problema.

Por favor, ajude-me a descobrir o que está acontecendo com isso e, se houver um melhor,mais simples solução para talvez explorar essas opções, mas eu preferiria continuar com meu método atual se encontrar uma solução.

EDITAR Observação: tenho experimentado fotos de tamanhos diferentes para upload e acredito que o limite permitido para o upload é de cerca de 10 KB. Qualquer coisa maior que 10Kb está causando a quebra e me dá o erro acima.

questionAnswers(3)

yourAnswerToTheQuestion