Tenho um código que faz o upload de uma foto,
e guarda numa serta pasta em meu WebConteiner.
Só que n está funcionando o UpLoad,
que até então funcionava nas outras versões do TomCat.
No 1º “If” ele diz “Method is deprecated”,
só q n acho nenhum outro jeito de fazer isso…
vai o código a seguir!
protected void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
/** verifica se o usuario pode acessar a pagina /
if(!AEControl.checkUser(req,res,false)){
return;
}
User user = (User) req.getSession(false).getAttribute(“user”);
String foto = null;
String comentario = null;
int integrar = 0;
boolean temArq = false;
FileItemFactory factory = new DiskFileItemFactory();
if(ServletFileUpload.isMultipartContent(req)){ <— Method Deprecated
ServletFileUpload fu = new ServletFileUpload(factory);
fu.setHeaderEncoding(“ISO-8859-1”);
fu.setSizeMax(AEControl.getMaxTransferSize());
try{
List itens = fu.parseRequest(req);
Iterator i = itens.iterator();
FileItem fi = null;
while (i.hasNext()){
fi = (FileItem) i.next();
/* Começa a pegar as informações do formulario */
if (fi.isFormField()){
String name = fi.getFieldName();
if (name.equals(“comentario”))
comentario = AEControl.convertUTFtoLATIN(fi.getString());
else if (name.equals(“integrar”))
integrar = Integer.parseInt(fi.getString());
}else{
String fileName = AEControl.convertUTFtoLATIN(fi.getName());
fileName = fileName.substring(fileName.lastIndexOf("\\") + 1);
String formato = fileName.substring(fileName.lastIndexOf(".") + 1);
fileName = "foto." + formato;
long tamanho = fi.getSize();
if (tamanho > 0){
temArq = true;
String repository = AEControl.getRepository().replaceAll("/","//");
String localizacao = "..//webapps"+ repository + "perfil//" + user.getId()+ "//";
/** Grava o arquivo */
try{
File f = new File(localizacao);
if(!f.exists()){
f.mkdirs();
}
localizacao +=fileName;
f = new File(localizacao);
fi.write(f);
foto = AEControl.getRepository() + "perfil/" + user.getId() + "/";
foto+= fileName;
}catch(Exception ex){
/** adiciona o erro a lista de logs do AEControl
* @see aec.admin.AEControl
*/
AEControl.addLog("Exception: " + ex);
temArq = false;
ex.printStackTrace();
}
}
}
}
}
catch(FileUploadException ex){
/** adiciona o erro a lista de logs do AEControl
* @see aec.admin.AEControl
*/
AEControl.addLog("Exception: " + ex+ "<br>CLasse: " +this.getClass());
temArq = false;
System.out.println("FileUploadException: " + ex);
}
}
é a parte principal…
depois tem a conecção com banco…
mais eh ai q n tá funcionando! =/
Alguem pode me ajudar?