e ai pesoal qro faze upload de imagem e salvar dentro da pasta do projeto webContent/imagens to usando primefaces ja fiz aqui mas fala q o caminho não existe
resolveu meu problema…
creio que seja exatamente oque precisas, eu upava a imagem para uma pasta no servidor, porem depois eu a salvava no banco e deletava o arquivo…
M
michelorth_92
opa vlw pela resposta… essa lib ja tem no meu projeto… mais alguma sugestao?
H
Hebert_Coelho
Faça um teste, tente salvar na raiz D:/
Alguns servidores não liberam alteração de estrutura de pastas dentro do diretório do servidor.
M
michelorth_92
ja fiz o teste e funciona… mas qria salvar na pasta do servidor pq vai ser a logomarca da empresa q contratar o sistema ai tando no d: fica foda
H
Hebert_Coelho
michelorth_92:
ja fiz o teste e funciona… mas qria salvar na pasta do servidor pq vai ser a logomarca da empresa q contratar o sistema ai tando no d: fica foda
Tem que ver alguma configuração do seu servidor então.
O normal que eu já vi em toda empresa é ter uma pasta a parte.
E ao invés de ter um caminho escrito no código igual vc fez, teria-se uma configuração onde apontaria o caminho para essa pasta.
Boa sorte aí.
R
R_chieck
Ok, sem problemas, se voce ja possui a lib então so lhe falta o código, isso?
na época quando precisei era para um servlet, grande parte do código de salvar a imagem peguei da web.
segue de exemplo meu servlet. este servlet é um basico cadastro de produto, se analizar, verá no código que é definida a pasta do servidor para onde a foto é enviada
temporariamente até ser transformada em objeto e salva no banco.
voce apenas não fara a exclusao do arquivo para mante-lo salvo
packageservlet;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.Iterator;importjava.util.List;importjavax.servlet.ServletConfig;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importorg.apache.commons.fileupload.FileItem;importorg.apache.commons.fileupload.FileUploadException;importorg.apache.commons.fileupload.disk.DiskFileItemFactory;importorg.apache.commons.fileupload.servlet.ServletFileUpload;importbusiness.Categoria;importbusiness.Produto;importdatabase.ProdutoDAO;publicclassServletProdutoextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;privatestaticfinalStringTMP_DIR_PATH="c:\\tmp";privateFiletmpDir;privatestaticfinalStringDESTINATION_DIR_PATH="/files";privateFiledestinationDir;publicServletProduto(){super();// TODO Auto-generated constructor stub}publicvoidinit(ServletConfigconfig)throwsServletException{super.init(config);tmpDir=newFile(TMP_DIR_PATH);if(!tmpDir.isDirectory()){thrownewServletException(TMP_DIR_PATH+" is not a directory");}StringrealPath=getServletContext().getRealPath(DESTINATION_DIR_PATH);destinationDir=newFile(realPath);if(!destinationDir.isDirectory()){thrownewServletException(DESTINATION_DIR_PATH+" is not a directory");}}protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html;charset=UTF-8");HttpSessions=request.getSession();PrintWriterout=response.getWriter();try{out.println("<html>");out.println("<head>");out.println("<title>Removendo Produto</title>");out.println("<META HTTP-EQUIV=\"Refresh\"CONTENT=\"2; URL=ServletProdutos\">");out.println("</head>");out.println("<body>");if(s.getAttribute("login")!=null&&s.getAttribute("admin").equals("t")){if(request.getParameter("action")!=null){if(request.getParameter("action").equals("delete")){ProdutoDAOpDAO=newProdutoDAO();Produtop=newProduto();p.setCodigo(Long.parseLong(request.getParameter("id")));if(pDAO.delete(p))out.print("Produto Excluido!");elseout.print("Ocorreu um erro durante a exclusão!");}}}elseout.println("Você não possui permissões para acessar esta página!");out.println("</body>");out.println("</html>");}finally{out.close();}}protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html;charset=UTF-8");PrintWriterout=response.getWriter();try{out.println("<html>");out.println("<head>");out.println("<title>Cadastro de Produto</title>");out.println("<META HTTP-EQUIV=\"Refresh\"CONTENT=\"2; URL=ServletProdutos\">");out.println("</head>");out.println("<body>");DiskFileItemFactoryfileItemFactory=newDiskFileItemFactory();fileItemFactory.setSizeThreshold(1*1024*1024);//1 MBfileItemFactory.setRepository(tmpDir);ServletFileUploaduploadHandler=newServletFileUpload(fileItemFactory);@SuppressWarnings("rawtypes")Listitems=uploadHandler.parseRequest(request);@SuppressWarnings("rawtypes")Iteratoritr=items.iterator();Produtoproduto=newProduto();produto.setCategoria(newCategoria());while(itr.hasNext()){FileItemitem=(FileItem)itr.next();if(item.isFormField()){if(item.getFieldName().equals("descricao"))produto.setDescricao(item.getString());if(item.getFieldName().equals("valor"))produto.setValor(Double.parseDouble(item.getString()));if(item.getFieldName().equals("categoria"))produto.getCategoria().setCodigo(Long.parseLong(item.getString()));}else{Filefile=newFile(destinationDir,item.getName());item.write(file);Filefoto=newFile(destinationDir+"\\"+file.getName());byte[]fileBlob;FileInputStreamfis;intfileLength=0;fis=newjava.io.FileInputStream(foto);fileLength=(int)foto.length()+1;fileBlob=newbyte[fileLength];fis.read(fileBlob);fis.close();foto.delete();produto.setFoto(fileBlob);}}ProdutoDAOpDAO=newProdutoDAO();if(pDAO.add(produto))out.print("Produto Gravado com Sucesso!");elseout.print("Ocorreu um erro durante a gravação!");out.println("</body>");out.println("</html>");out.close();}catch(FileUploadExceptionex){log("Error encountered while parsing the request",ex);}catch(Exceptionex){log("Error encountered while uploading file",ex);}finally{out.close();}}}