weibson 0 Denunciar post Postado Janeiro 4, 2009 Olá pessoal. Eu tenho um grande problema. Eu não consigo fazer upload de imagem para diretórios de meu sistema. Estou programando em JSP com o NETBEANS 5.5 (tenho que usar esse por causa do servidor onde é hospedado o sistema) É o seguinte, eu gostaria de fazer o upload de arquivos no formato de imagem para um diretório qualquer configurado por mim. Gostaria de exemplos para utilização em diretórios e não em banco de dados. Obrigado desde já! http://forum.imasters.com.br/public/style_emoticons/default/upset.gif Compartilhar este post Link para o post Compartilhar em outros sites
DiegoEsteves 0 Denunciar post Postado Janeiro 5, 2009 Olá pessoal. Eu tenho um grande problema. Eu não consigo fazer upload de imagem para diretórios de meu sistema. Estou programando em JSP com o NETBEANS 5.5 (tenho que usar esse por causa do servidor onde é hospedado o sistema) É o seguinte, eu gostaria de fazer o upload de arquivos no formato de imagem para um diretório qualquer configurado por mim. Gostaria de exemplos para utilização em diretórios e não em banco de dados. Obrigado desde já! http://forum.imasters.com.br/public/style_emoticons/default/upset.gif ola wibson cara você terá q ler na api sobre FILEUPLOAD como usar beleza? http://commons.apache.org/fileupload/apido...FileUpload.html depois ve se isso te ajuda em alguma coisa, se ainda estiver dando errado, posta o codigo para agente dar uma olhada beleza? import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import br.gov.esporte.exception.NegocioException; import br.gov.esporte.handlers.EnviaEmailComAnexoHandler; public class MalaDiretaServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { private static final long serialVersionUID = 1L; public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { File uploadFile = null; DiskFileItemFactory factory; String repositorio; List fileItems; ServletFileUpload upload; PrintWriter out = response.getWriter(); response.setContentType("text/html"); try { factory = new DiskFileItemFactory(); factory.setSizeThreshold(4096); repositorio = getServletContext().getInitParameter("repositorio"); if (repositorio == null) { throw new NegocioException( "É preciso definir o parâmetro repositorio"); } factory.setRepository(new File(repositorio)); upload = new ServletFileUpload(factory); upload.setSizeMax(2560000l); fileItems = upload.parseRequest(request); } falow Compartilhar este post Link para o post Compartilhar em outros sites
weibson 0 Denunciar post Postado Janeiro 9, 2009 DiegoEsteves Eu tentei utilizar o seu código mas não entendi muita coisa, eu não sei nada sobre upload então fiquei realmente perdido como fazer. Um amigo meu mandou-me o seguinte código. upload.jsp <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>TESTE ARQUIVOS</title> </head> <body> <form action="UploadServlet" method="post" enctype="multipart/form-data" name="formulario" id="formulario"> <input type="file" name="arquivo"> <br> <input type="submit" value="enviar"> </form> </body> </html> Essa foi a página simplificada do upload. Depois ele mandou eu criar um servlet com o seguinte código. UploadServlet.java import java.io.*; import java.net.*; import java.util.Iterator; import java.util.List; import javax.servlet.*; import javax.servlet.http.*; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class UploadServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { this.upload(request, response); } catch (Exception ex) { ex.printStackTrace(); } } private String upload(HttpServletRequest request, HttpServletResponse response) throws Exception { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(50 * 1024 * 1024); String nome = ""; List items = upload.parseRequest(request); // request vem na controladora // Processa os itens do upload Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.getFieldName().equals("arquivo")) { nome = item.getName(); StringBuffer bn = new StringBuffer(); bn.append("D:/imagens/"); // caminho bn.append(nome); File uploadedFile = new File(bn.toString()); item.write(uploadedFile); } } nome = "D:/imagens/" + nome; return nome; } Com o o retorno do nome eu poderei colocar o caminho no banco de dados para eventuais consultas. Até ai tudo bem. Sendo que quando eu executo o comando uma exception ocorre. Quando ele tenta passar o paramêtro para: List items = upload.parseRequest(request); Se alguém puder me ajudar.... Estou realmente precisando fazer o upload de arquivos em imagem. Sim esse código que me mandaram ele utiliza para carregar arquivos .xml e .txt Mas me disse que poderia funcionar para imagens. E ele utiliza certamente diretórios e caminho para imagens. Desde já agradeço a todos! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
weibson 0 Denunciar post Postado Janeiro 10, 2009 Bem pessoal. Eu conseguir resolver o problema depois de muito bater a cabeça contra a parede. Eu estava usando apenas 3 JARs commons-fileupload-1.2.1 commons-fileupload-1.2.1-javadoc commons-fileupload-1.2.1-sources Ele funcionava ate a metade, mas descobrir que estava dando uma exceção e io então fui a procura de resolver meu problema, e descobrir que na verdade não se utiliza apenas 3 arquivos para upload e sim 6, vou lista-los abaixo e utilizando o código que eu postei, conseguirão fácil, fácil fazer o upload de qualquer tipo de arquivo. commons-fileupload-1.2.1 commons-fileupload-1.2.1-javadoc commons-fileupload-1.2.1-sources commons-io-1.4 commons-io-1.4-javadoc commons-io-1.4-sources Valeu pessoal! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites