è meu primeiro upload e queria cadastrar um carro e inserir a foto no mesmo jsp, mas não consigo, no meu servlet , alguém tem uma dica de o que devo alterar se é no jsp ou no servlet que realiza a persistência?
é text com imagem
gostaria de inserir no mesmo jsp por exemplo isso eo upload da imagem
Valor 1
Valor 2
Valor 3
tenho um form jsp simple para cadastro de imagem assim
Agora vc só precisa pegar seu input no if caso a condição seja verdadeira…Esta um pouco fraco o exemplo não sei se te ajudei …
[/]'s
D
danieljvm
há blz!! não posso testar aqui mas entendi a lógica já é uma mão na roda.
deve ser isso pq. dava null no parâmetro que eu pegava no servlet acho que justamente por não fazer esta condição. deve resolver.
valeu amigão!!!
D
dark123
Giulliano:
Na sua servlet vc pega os parametros recebidos pela JSP certo ???
Então eu imagino q vc faça uma condição como essa:
<%@pageimport="schema.Conexao"%><%@pageimport="java.sql.*"%><%@pagecontentType="text/html;charset=ISO-8859-1"%><%@pageimport="org.apache.commons.fileupload.FileItem"%><%@pageimport="org.apache.commons.fileupload.servlet.ServletFileUpload"%><%@pageimport="org.apache.commons.fileupload.disk.DiskFileItemFactory"%><%@pageimport="java.util.List"%><%@pageimport="java.util.Iterator"%><%@pageimport="java.io.File"%><%out.println("<html><head></head><body>");if(ServletFileUpload.isMultipartContent(request)){out.println("<h2>Seu upload</h2>");ServletFileUploadservletFileUpload=newServletFileUpload(newDiskFileItemFactory());StringuploadDir=application.getRealPath(request.getServletPath());uploadDir=(newjava.io.File(uploadDir)).getParent()+"\\UploadedFiles\\";try{ListfileItemsList=servletFileUpload.parseRequest(request);Iteratorit=fileItemsList.iterator();while(it.hasNext()){FileItemfileItem=(FileItem)it.next();if(fileItem.isFormField()){out.println(fileItem.getFieldName()+" - "+fileItem.getString()+"<br>");}else{fileItem.write(newFile(uploadDir+"\\"+(newFile(fileItem.getName()).getName())));out.println("<br><b>Arquivo</b><br><br><img src=UploadedFiles/"+fileItem.getName()+" /> <br><br>Arquivo enviado com sucesso!<br><br>");Stringid=fileItem.getString();intcodigo=Integer.parseInt(id);Connectionconn=Conexao.getConection();PreparedStatementpstmt=conn.prepareStatement("INSERT INTO teste_upload (codigoTopic, url_image) VALUES ( ?, ? )");pstmt.setInt(1,codigo);pstmt.setObject(2,fileItem.getName());pstmt.execute();out.println("Adicionado ao banco de dados: "+id+" e "+fileItem.getName());conn.close();}}}catch(Exceptionex){out.println(ex.getMessage());out.println("<br>Não foi possível cadastrar os dados no banco de dados!<br>"+ex);}}elseout.println("Nenhum arquivo encontrado!.");out.println("</body></html>");%>
Antes eu usava este exemplo aqui: http://www.javafree.org/viewtopic.jbb?t=871583#163202
só que não pudia enviar imagens pelo Internet Explorer.
Com esse novo exemplo envia mas normalmente com todos os browsers, captura o parêmtro, como é mostrado na imagem, só que quando ele é setado no banco de dados, vai como caracteres desconhecidos...
O que posso fazer para upar um arquivo em qualquer navegador capturando outros parâmetros?