Pessoal tenho um upload que funciona legal para localhost mas quando o envio para a web ele nao fuciona não, o q pode ser, será que é o caminho?, permisão? …
Upload com erro
5 Respostas
ta loco q alguem vai vir aqui e ler tudo isso!
coloque o erro q ta acontecendo…
pra mim isso ta com cara de falta de permissao pra escrever na pasta… ja q roda em localhost…
Voce pode ser mais especifico sobre os problemas que esta tendo com esse (monte de) codigo?
Pessoal troquei para o fileupload do jakarta e continua a mesma coisa eu consigo gravar no localhost nas nao na web, nao entendo pq? o codigo parace estar correto nao é, eu acesso sireitinho o servlet entao nao sei o que rola não. Será o formulario quando eu mando:
<FORM action=http://criativs.locaweb.com.br/servlet/com.classes.criativa.FileUploadServlet method=post encType=multipart/form-data >
mas PARECE ele acha o servlet direitinho.
String message = "";;
path = getServletContext().getRealPath("/") + "banners";
out = response.getWriter();
try {
DiskFileUpload upload = new DiskFileUpload();
upload.setSizeThreshold(4096);
//upload.setSizeMax(-1);
upload.setRepositoryPath( path );
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
long time_1 = new Date().getTime();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if ( !item.isFormField() ) {
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
if( sizeInBytes <= 15000 ){
File uploadedFile = new File( path + "banner" + DbBean.codigo_banner + ".gif" );
item.write(uploadedFile);
long time_2 = new Date().getTime();
message = "Tempo: "+ ((double) (time_2 - time_1) / 1000) + " Segundo(s)</p>";
}
else{
message = "O arquivo a ser carregado nao pode ultrapassar 15Kb</p>";
}
}
}
out.println("<html>");
out.println("<body>");
out.println("<p align="center"><font size="4" color="#003366"><b>Arquivo Carregado<br>");
out.println( message );
out.println("<p align="center"><font size="2" color="#003366" face="MS Sans Serif"><b><a href="javascript:window.close()">Fechar</a></p>");
out.println("</body>");
out.println("</html>");
}
catch (FileUploadException e) {
e.printStackTrace();
getMostra( e.getStackTrace() );
}
catch (Exception e) {
e.printStackTrace();
getMostra( e.getStackTrace() );
}
E quando eu gero o upload da este erro aqui.
java.io.FileOutputStream.open(Native Method)
java.io.FileOutputStream.(FileOutputStream.java:179)
java.io.FileOutputStream.(FileOutputStream.java:131)
org.apache.commons.fileupload.DefaultFileItem.write(DefaultFileItem.java:392)
com.classes.criativa.FileUploadServlet.doPost(FileUploadServlet.java:52)
javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:98)
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:176)
java.security.AccessController.doPrivileged(Native Method)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:172)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
LocaWebValve.invoke(LocaWebValve.java:101)
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:457)
org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:576)
java.lang.Thread.run(Thread.java:534)
Ai galera me uma força ai tenho que entregar isso ate sabado, ja nao to nem dormindo atras da solução, entrei em contato com o pessoal da hospedagem pra ver se era permissao mas nao é nao, seria o meu path, pois o erro ocorre na linha 52 onde dou um .write, ali no getServletContext().getRealPath("/") ele pega o caminho completo. Ja nao tenho mas ideias…, preciso de um upload rapido, mas se nao tiverem ideia, ta joia, to procurando ainda.
Você está colocando o endereço de IP válido no caminho? \200…? Eu posso te passar um código meu me passa seu e-mail pq tem uns componentes.