Nao sei por q mais não consigo fazer upload de imagem no caminho certo do meu projeto testo localmente e no servidor de hospedagem (http://www.eatj.com) e nao da certo
uso o
String filePath = request.getServletContext().getRealPath("/");
pra encontrar o caminho mais não atualiza…
public String execute(HttpServletRequest request, HttpServletResponse response) {
Integer matricula = Integer.parseInt(request.getParameter("matricula"));
String coluna = request.getParameter("perfil");
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
String filePath = request.getServletContext().getRealPath("/");
String filePath2 = request.getServletPath();
if(isMultipart) {
try {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = (List<FileItem>) upload.parseRequest(request);
for(FileItem item : items) {
if(item.isFormField()) {
//se for um campo normal de form
/*System.out.println("Form field");
System.out.println("Name:"+item.getFieldName());
System.out.println("Value:"+item.getString());*/
}
if(!item.isFormField()){
//caso seja um campo do tipo file
/*System.out.println("NOT Form field");
System.out.println("Name:"+item.getFieldName());
System.out.println("FileName:"+item.getName());
System.out.println("Size:"+item.getSize());
System.out.println("ContentType:"+item.getContentType());*/
//verificar caminho
String localPath;
File diretorio = new File(filePath+"Usuarios\\"+matricula);
System.out.println("caminho:" + filePath +"\n teste:" + filePath2);
//File diretorio = new File("C:/JSP/YouConnect2/WebContent/Usuarios/"+matricula);
if (!diretorio.exists()){
System.out.println("nao existe");
diretorio.mkdir(); // mkdirs cria todos os diretorios
}
localPath = filePath+"Usuarios\\"+matricula+"\\perfil"+matricula+".jpg";
System.out.println("file:" + localPath);
File diretorio2 = new File(localPath);
item.write(diretorio2);
String caminho = "Usuarios/"+matricula+"/perfil"+matricula+".jpg";
uploadDAO.updateImagem(matricula, caminho, coluna);
}
}