Galera, o seguinte, quero fazer uns upload pruma aplicação num server.
O problema é que eu não consigo “pegar” o caminho até a aplicação.
Por exemplo,
String path = new File("").getAbsolutePath() + "\\webapps\\" + getServletContext().getServletContextName();
System.out.println("Path: " + path + "\\upload\\" + criptName + ".jpg" );
File uploadFile = new File( path + "\\upload\\" + criptName + ".jpg" );
Colocando webapps, o sistema salva onde eu quero.
Mas isso nao seria compatível, se eu usasse outro container, não sei qual é a pasta onde vao as aplicações, e isso não seria mto legal.
Se alguém puder me ajudar a descobrir, como pegar a pasta de aplicação do container, ficaria mto grato.
reizin
#2
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
String path = session.getServletContext().getRealPath("/");
[quote=reizin]
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
String path = session.getServletContext().getRealPath("/");
[/quote]
de onde tu tirou que o cara tá usando JSF?
faz simples assim:
request.getRealPath("/")
boa sorte!
Lembrando que HttpServletRequest.getRealPath() está deprecated.
Uma solução seria usar o seguinte, dentro do servlet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext context = getServletContext();
String path = context.getRealPath("/");
}