e ai pessoal beleza?
bom e o seguinte, eu to precisando fazer um formulario que o usuario envia uma imagem, o alt da imagem e um link. pegar a imagem eu pego numa boa, o problema esta sendo pegar os outros campos do formulario. sei que para verificar se o tipo do input e file, se usa o metodo isFormField(), mas mesmo assim nao esta dando certo. ja vi varios topicos aqui no forum mas nenhum ajudou, alguem pode me dar uma luz?
segue o cod:
formulario:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form name="form" id="form" method="post" action="upload.jsp" enctype="multipart/form-data">
Imagem<input type="file" name="imagem" id="imagem"/><br />
Titulo<input type="text" id="alt" name="alt"/><br />
Link<input type="text" name="link" id="link"/><br />
<input type="submit" value="Botao"/>
</form>
</body>
</html>
upload.jsp:
<%
//DAO dao = new DAO();
//UploadImagens up = new UploadImagens();
String alt = "";
String link = "";
if (ServletFileUpload.isMultipartContent(request)) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List item = upload.parseRequest(request);
Iterator i = item.iterator();
while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
if (!fi.isFormField()) {
String nomeArquivo = fi.getName();
String root = getServletContext().getRealPath("/");
File caminho = new File(root + "/upload");
if (!caminho.exists()) {
boolean satus = caminho.mkdirs();
}
File uploadFile = new File(caminho + "/" + nomeArquivo);
fi.write(uploadFile);
BufferedImage imagem = null;
try {
imagem = ImageIO.read(new File(caminho + "/" + nomeArquivo));
}
catch (IOException ex) {
ex.getMessage();
}
int width = 150, height = 50;
BufferedImage novaImagem = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = novaImagem.createGraphics();
g.drawImage(imagem, 0, 0, width, height, null);
ImageIO.write(novaImagem, "PNG", new File(caminho + "/" + nomeArquivo));
//up.setImg(nomeArquivo);
}
else {
System.out.print("TESTE");
}
}
}
catch (FileUploadException e) {
e.printStackTrace();
}
}
//up.setLink(request.getParameter("link"));
//up.setAlt(request.getParameter("alt"));
//dao.insere(up);
%>
o erro que me da e esse:
An exception occurred processing JSP page /upload.jsp at line 49 46: boolean satus = caminho.mkdirs(); 47: } 48: File uploadFile = new File(caminho + “/” + nomeArquivo); 49: fi.write(uploadFile); 50: BufferedImage imagem = null; 51: try { 52: imagem = ImageIO.read(new File(caminho + “/” + nomeArquivo)); Stacktrace:
alguma ideia pessoal?