file upload, funciona no run-app, mas depois que vira .war no glassfish para de funcionar!
10/05/2012 10:01
0
Bom dia, vaguei pela net e não achei algo que explicasse o que acontece de errado..

tenho esse código que tem em toda parte:

Controller:
if(request instanceof MultipartHttpServletRequest)
{
MultipartHttpServletRequest mpr = (MultipartHttpServletRequest)request;
CommonsMultipartFile f = (CommonsMultipartFile) mpr.getFile("doc1");
if(!f.empty)
render "success" + f.size
else
render "empty"
}
else{
render "fail"
}

view:

<g:uploadForm name="myForm" action="importar" method="post" enctype="multipart/form-data">
<input type="file" name="doc1" value=""/>
<g:actionSubmit value="Importar"/>
</g:uploadForm>


Ele funciona normal usando o "run-app", porem... quando passo para .war e implanto(importo) no GlassFish3, ele reclama que o objeto (file) é null..


Error 500: Internal Server Error
URI
/xxxxxxx/yyyyyy/importar
Class
java.lang.NullPointerException
Message
Cannot get property 'empty' on null object
Trace
Line | Method
->> 35 | importar in ttttttt.XxxxxxController
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 317 | call in com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable
| 195 | service . . . . . . . in com.sun.enterprise.v3.services.impl.ContainerMapper
| 849 | invokeAdapter in com.sun.grizzly.http.ProcessorTask
| 746 | doProcess . . . . . . in ''
| 1045 | process in ''
| 228 | execute . . . . . . . in com.sun.grizzly.http.DefaultProtocolFilter
| 137 | executeProtocolFilter in com.sun.grizzly.DefaultProtocolChain
| 104 | execute . . . . . . . in ''
| 90 | execute in ''
| 79 | execute . . . . . . . in com.sun.grizzly.http.HttpProtocolChain
| 54 | doCall in com.sun.grizzly.ProtocolChainContextTask
| 59 | call . . . . . . . . in com.sun.grizzly.SelectionKeyContextTask
| 71 | run in com.sun.grizzly.ContextTask
| 532 | doWork . . . . . . . in com.sun.grizzly.util.AbstractThreadPool$Worker
| 513 | run in ''
^ 722 | run . . . . . . . . . in java.lang.Thread


Alguem sabe dizer se o problema é no glassfish.. grails.. código..

Obrigado.
Tags: file upload .war glassfish java.lang.NullPointerException Cannot get property 'empty' on null object


0
Bom, se futuramente alguém tiver a mesma duvida.. grandes possibilidades que o problema é o GlassFish, pois funciona muito bem com o run-war do grails... :D


1
Eu tive um problema parecido aqui, mas no tomcat era erro de permissão

Em produção não tinha acesso as pastas da aplicação, dae deixei no Config.groovy a varíavel
grails.image.tempPath = "/var/tmp/"
Dae acesso esse caminho e coloco os arquivos lá
12/05/2012 23:15


0
Alias se alguém souber um jeito bom de pegar a pasta temporaria do servidor web, agradeço XD

Imagino que essa solução que eu fiz não deva ser a correta.
12/05/2012 23:16


1
Olá.

Amigo, no Grails não precisa de MultipartHttpServletRequest, CommonsMultipartFile ou coisas assim para pegar um arquivo enviado via upload.

Veja este tópico:
http://grailsbrasil.com.br/post/show/1760

Acho que lhe ajudará.

Abraços.



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto