Bom dia @ReJMD... o tempo que vc demora fazendo um post aqui no forum, nao seria o mesmo que debugar sua aplicação para ver o que ocorre.
Não que eu não queira ajudar, mas vc debugando sua aplicação, vc aprende sozinho com os erros, e talves a solução chegue até mais rápido que esperando uma resposta aqui no forum. Na internet existem inumeros exemplos de como fazer o upload de arquivos, e eu diria q a grande maioria funciona, pois foi dela (a internet) que peguei o que uso aqui. Inclusive procurando aqui no forum você vai achar muita coisa sobre isso!! (ex: seu topico https://groups.google.com/forum/#!msg/flexdev/dJUwfox6V6g/8yXk2d6o958J) Novamente digo aqui: eu quero sim ajudar as pessoas, mas as pessoas também podem "se virar" um pouco sozinhas!! Antes de perguntar, pesquise aqui no forum, provavelmente alguem ja teve o mesmo problema!! Att, Samuel Facchinello http://desenvolvendoemflex.blogspot.com Joinville - SC Em 28 de setembro de 2011 08:11, Re JMD <[email protected]> escreveu: > O Outro erro foi esse: > > Sep 28, 2011 8:07:02 AM org.apache.catalina.core.StandardWrapperValve > invoke > SEVERE: Allocate exception for servlet FileUploadServlet > java.lang.NullPointerException > at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:160) > at FileUploadServlet.<init>(FileUploadServlet.java:22) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown > Source) > at java.lang.reflect.Constructor.newInstance(Unknown Source) > at java.lang.Class.newInstance0(Unknown Source) > at java.lang.Class.newInstance(Unknown Source) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1116) > at > org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > at java.lang.Thread.run(Unknown Source) > > Em 28 de setembro de 2011 07:42, Re JMD <[email protected]> escreveu: > > Mário ainda não não fiz a pagina HTML no log do servidor deu o seguinte >> erro: >> >> Sep 28, 2011 7:41:07 AM org.apache.catalina.core.StandardWrapperValve >> invoke >> INFO: Servlet FileUploadServlet is currently unavailable >> >> >> Em 27 de setembro de 2011 21:00, Mário Júnior <[email protected]>escreveu: >> >> Primeira dica: Toda app Java q se respeita TEM QUE TER LOG! :D >>> ficar dando e.printStackTrace() nao é bonito de se ver. Recomendo usar o >>> log4j, é muito fácil usa-lo e configura-lo. Assim vc fica com um arquivo >>> .log próprio para sua aplicação, e mesmo no servidor de produção vc consegue >>> conferir tudo oq acontece na sua app. >>> >>> Segunda dica: Faça uma pagina simples em html mesmo com um form e um >>> input file e tente fazer o upload. Se der erro, é pq o problema está no >>> back-end, isso elimina a hipótese de ser no Flex. >>> >>> Terceira dica: TODO JEE Container possui um log "genérico". Pesquise no >>> seu servidor, dentro da pasta do tomcat dentro uma pastinha chamada de >>> "log", verifique lá oq está sendo impresso pelo seu e.printStackTrace(). >>> >>> >>> []'s >>> >>> >>> >>> >>> >>> Em 27 de setembro de 2011 19:40, Re JMD <[email protected]> escreveu: >>> >>>> Pessoal, >>>> >>>> Na minha aplicação tenho um upload com flex e servlet java no qual >>>> executo tranquilo quando estou rodando a aplicação no Eclipse+Flex quando >>>> passso para o meu servidor tomcat está dando o famoso erro: >>>> >>>> Error #2044: IOErrorEvent: não manipulado. text=Error #2038: Erro do >>>> arquivo de E/S. >>>> >>>> Tentei achar o arquivo .htaccess para alterar porém no Apache TomCat não >>>> achei. >>>> >>>> Alguém já passou por esse problema? >>>> >>>> >>>> *private* *var* fileRef:FileReference; >>>> >>>> *//Acesso Local* >>>> >>>> *private* *var* request:URLRequest = *new* URLRequest (* >>>> "FileUploadServlet"*); >>>> >>>> *//Acesso Servidor* >>>> >>>> *//private var request:URLRequest = new URLRequest >>>> ("/FileUploadServlet");* >>>> >>>> *private* *function* init():*void* { >>>> >>>> fileRef = >>>> *new* FileReference(); >>>> >>>> fileRef.addEventListener(Event.SELECT, fileRef_select); >>>> >>>> fileRef.addEventListener(ProgressEvent.PROGRESS, fileRef_progress); >>>> >>>> fileRef.addEventListener(Event.COMPLETE, fileRef_complete); >>>> >>>> processarRazao.enabled= >>>> *false*; >>>> >>>> progressBar.visible = >>>> *false*; >>>> >>>> } >>>> >>>> *private* *function* browseAndUpload():*void* { >>>> >>>> *var* fileFilter:FileFilter = *new* FileFilter(*"XLS(*.xls)"*,*"*.xls"*); >>>> >>>> >>>> *var* fileTypes:Array = *new* Array(fileFilter); >>>> >>>> fileRef.browse(fileTypes); >>>> >>>> message.text = >>>> *""*; >>>> >>>> } >>>> >>>> *private* *function* fileRef_select(evt:Event):*void* { >>>> >>>> *try* { >>>> >>>> *//message.text = "size (bytes): " + >>>> numberFormatter.format(fileRef.size);* >>>> >>>> fileRef.upload(request); >>>> >>>> } >>>> *catch* (err:Error) { >>>> >>>> *trace*(err.getStackTrace()) >>>> >>>> message.text = >>>> *"ERROR: zero-byte file"*; >>>> >>>> } >>>> >>>> } >>>> >>>> Servlet Java: >>>> >>>> import java.io.File; >>>> import java.io.IOException; >>>> import java.util.Iterator; >>>> import java.util.List;import javax.servlet.ServletException; >>>> import javax.servlet.http.HttpServlet; >>>> import javax.servlet.http.HttpServletRequest; >>>> import javax.servlet.http.HttpServletResponse; >>>> import org.apache.commons.fileupload.FileItem; >>>> import org.apache.commons.fileupload.disk.DiskFileItemFactory; >>>> import org.apache.commons.fileupload.servlet.ServletFileUpload; >>>> >>>> >>>> public class FileUploadServlet extends HttpServlet{ >>>> >>>> >>>> private static final long serialVersionUID = -3809781585154857442L; >>>> //Acesso Local >>>> //private String uploadpatch = >>>> getServletContext().getRealPath("/WEB-INF/teste"); >>>> >>>> private String uploadpatch =this.getServletContext().getRealPath("//"); >>>> //Acesso Servidor >>>> //private String uploadpatch = "/classes/"; >>>> public static final int maxPostSize = 100*1024*1024; >>>> >>>> public FileUploadServlet (){ >>>> super(); >>>> } >>>> >>>> protected void processRequest(HttpServletRequest request, >>>> HttpServletResponse response) throws Exception{ >>>> >>>> try { >>>> response.setContentType("text/html;charset=UTF-8"); >>>> >>>> DiskFileItemFactory factory = new DiskFileItemFactory(); >>>> factory.setSizeThreshold(4096); >>>> >>>> ServletFileUpload upload = new ServletFileUpload(factory); >>>> upload.setFileSizeMax(maxPostSize); >>>> >>>> List<FileItem> fileItens= upload.parseRequest(request); >>>> Iterator<FileItem> iter = fileItens.iterator(); >>>> >>>> while (iter.hasNext()){ >>>> FileItem item = iter.next(); >>>> if(!item.isFormField()){ >>>> >>>> item.write(new File(uploadpatch + item.getName())); >>>> } >>>> } >>>> >>>> } catch (Exception e) { >>>> throw e; >>>> } >>>> } >>>> >>>> protected void doGet(HttpServletRequest request, HttpServletResponse >>>> response) >>>> throws ServletException, IOException{ >>>> >>>> try { >>>> >>>> processRequest(request, response); >>>> >>>> } catch (Exception e) { >>>> e.printStackTrace(); >>>> } >>>> } >>>> >>>> protected void doPost(HttpServletRequest request, HttpServletResponse >>>> response) >>>> throws ServletException, IOException{ >>>> >>>> try { >>>> >>>> processRequest(request, response); >>>> >>>> } catch (Exception e) { >>>> e.printStackTrace(); >>>> } >>>> >>>> } >>>> >>>> >>>> public void destroy(){ >>>> >>>> super.destroy(); >>>> >>>> } >>>> >>>> } >>>> >>>> Web.xml >>>> >>>> <servlet> >>>> >>>> <description> >>>> >>>> </description> >>>> >>>> <display-name> >>>> >>>> FileUploadServlet >>>> </display-name> >>>> >>>> <servlet-name>FileUploadServlet</servlet-name> >>>> >>>> <servlet-class> >>>> >>>> FileUploadServlet >>>> </servlet-class> >>>> >>>> </servlet> >>>> >>>> <servlet-mapping> >>>> >>>> <servlet-name>FileUploadServlet</servlet-name> >>>> >>>> <url-pattern>/FileUploadServlet</url-pattern> >>>> >>>> </servlet-mapping> >>>> >>>> >>>> >>>> >>>> -- >>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>> Para enviar uma mensagem, envie um e-mail para [email protected] >>>> Para sair da lista, envie um email em branco para >>>> [email protected] >>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>> >>> >>> >>> >>> -- >>> Mario Junior >>> http://blog.mariojunior.com/ >>> @mariojunior >>> >>> -- >>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>> Para enviar uma mensagem, envie um e-mail para [email protected] >>> Para sair da lista, envie um email em branco para >>> [email protected] >>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >> >> >> > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para [email protected] > Para sair da lista, envie um email em branco para > [email protected] > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
