Boa tarde,
Estou estudando o capitulo 14 do Livro - Desenvolvendo Aplicações Web com JSP, Servlets, JavaServer Faces, Hibernate, EJB 3 Persistence e Ajax - Edson Gonçalves.
Bem, porém, o mesmo não esta dano certo, não estou sabendo como apontar o diretorio ao qual o arquivo vai ser guardando no projeto.
fazendoUploadComJsp.jsp
<%@page language="java"
contentType="text/html"
pageEncoding="ISO-8859-1"
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>JUpload de Arquivo</title>
</head>
<body>
<jsp:useBean id="up1" scope="page" class="upload.UploadBean" />
<jsp:setProperty name="up1" property="diretorio" value="arquivos" />
<%
if (up1.doFilePost(request, application)) {
out.println(up1.getFilename());
}
%>
<form method="post" action="fazendoUploadComJsp.jsp" enctype="multipart/form-data">
Arquivo: <input type="file" name="file" /><br />
<input type="submit" name="submit" value="enviar" />
</form>
</body>
</html>
UploadBean.java
package upload;
import java.io.File;
import java.util.*;
import javax.servlet.ServletContext;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadBean {
private DiskFileItemFactory fileUpload = new DiskFileItemFactory();
private ServletFileUpload sfu = new ServletFileUpload(fileUpload);
private String diretorio;
private String filename;
public void setDiretorio(String diretorio) {
this.diretorio = diretorio;
}
public String getDiretorio() {
return diretorio;
}
public String getFilename() {
return filename;
}
public boolean doFilePost(HttpServletRequest request, ServletContext context) {
if (!request.getContentType().startsWith("multipart/form-data")) {
return false;
}
String path = context.getRealPath(getDiretorio());
try {
List list = sfu.parseRequest(request);
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
FileItem item = (FileItem) iterator.next();
if (!item.isFormField()) {
filename = item.getName();
}
if ((item != null) && (!filename.equals("")) ) {
filename = (new File(filename)).getName();
item.write(new File(path + "/" + filename));
}
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
}
:?: Alguem pode me dar uma luz, pois não esta parecendo nenhum erro. estou usando o NetBeans 6.7.1