Olá, pessoal!
Primeira vez que estou aprendendo enviar o arquivo (fotos, pdf, word e etc), mas surgiro a problema, veja em baixo…
Ocorreu a problema.
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NumberFormatException: For input string: "Imagem0041.jpg"
java.lang.NumberFormatException.forInputString(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)
java.lang.Byte.parseByte(Unknown Source)
java.lang.Byte.parseByte(Unknown Source)
ArquivoServelts.doGet(ArquivoServelts.java:16)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.
CadastroArquivo.htm
<form action="ArquivoServelts" method="get">
<table>
<tr><td>Nome:</td><td><input type="text" name="nome"></td></tr>
<tr><td>Arquivo:</td><td><input type="file" name="arquivo"></td></tr>
<tr><td colspan="2"><input type="submit" value="Enviar"></td></tr>
</table>
</form>
ArquivoServelts
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String nomeArquivo = request.getParameter("nome");
byte file = Byte.parseByte(request.getParameter("arquivo"));
Arquivos arq = new Arquivos();
arq.setNomeArquivo(nomeArquivo);
arq.setArquivo(file);
ArquivosDAO dao = new ArquivosDAO();
dao.IncluirArquivo(arq);
response.sendRedirect("CadastroArquivo.htm");
System.out.println("incluindo com Sucesso!!!");
}
arquivos - enculpsamento
public class Arquivos {
private int id;
private String nomeArquivo;
private byte arquivo;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNomeArquivo() {
return nomeArquivo;
}
public void setNomeArquivo(String nomeArquivo) {
this.nomeArquivo = nomeArquivo;
}
public byte getArquivo() {
return arquivo;
}
public void setArquivo(byte arquivo) {
this.arquivo = arquivo;
}
}
ArquivoDAO
public class ArquivosDAO {
public void IncluirArquivo(Arquivos arq){
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/testearquivo","root","");
PreparedStatement st = conn.prepareStatement("INSERT INTO arquivo values(?,?,?)");
st.setInt(1,0);
st.setString(2,arq.getNomeArquivo());
st.setByte(3,arq.getArquivo());
st.executeUpdate();
} catch (ClassNotFoundException e) {
System.out.println("Problemas de acesso de Banco de Dados");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("Problemas de acessa da Tabela");
e.printStackTrace();
}
}
}
Espero alguém me ajude… obrigado!