1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

dúvida JSP

Discussão em 'Web Development' iniciada por Insurrecto, 4 de Junho de 2008. (Respostas: 4; Visualizações: 747)

  1. Insurrecto

    Insurrecto Power Member

    pessoal tenho um código jsp que faz o upload de uma foto para o disco. o problema é que ele grava a foto na pasta raiz do tomcat e eu queria gravar numa outro pasta... alguém me pode ajudar a completar o código?

    fica aqui o meu espaguete:

    Código:
    
    <%
        //<%! String io = (String) session.getAttribute("user");
        String io =  (String)(session.getAttribute("user"));
        
        long r = (long) System.currentTimeMillis();
       // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload();
    
    // Parse the request
    FileItemIterator iter = upload.getItemIterator(request);
    
    while (iter.hasNext()) {
        FileItemStream item = iter.next();
        String name = item.getFieldName();
        InputStream stream = item.openStream();
        
        if (item.isFormField()) {
            out.write("Form field " + name + " with value "
                + Streams.asString(stream) + " detected.");
        } else {
            out.write("File field " + name + " with file name "
                + item.getName() + " detected.");
                // Process the input stream
                FileOutputStream fos = null;
                fos = new FileOutputStream(new File(io+"_"+r+".jpg"));
                
                byte[] Buffer = new byte[2000];
                int lido = 1;
                while (lido!=-1) {
                
                lido = stream.read(Buffer);
                out.write("lido = "+lido+"<br>");
                
                if (lido>0)
                {
                
                fos.write(Buffer,0,lido);
                }
                
                }
            
        }
    }
    %>
    
    
    ninguém?
     
    Última edição: 5 de Junho de 2008
  2. Mavors

    Mavors Power Member

    O File () pode ter assinaturas diferentes.

    Onde tens:
    Código:
    fos = new FileOutputStream(new File(io+"_"+r+".jpg"));

    tenta:
    Código:
    fos = new FileOutputStream(new File("c:\\directoria","oTeuFicheiro.extensao"));
    Espero que resolva o teu problema.
     
  3. Insurrecto

    Insurrecto Power Member

    sim resolveu :009:

    mas sabes como, em vez de colocar uma directoria fixa, colocar numa pasta "fotos" que está na pasta onde eu tenho este jsp... para ficar de forma dinâmica e não estática como indicas-te...
     
  4. Mavors

    Mavors Power Member

    Atribuis variaveis tipo:

    Código:
    String caminho = "%tomcatroot%\\JSP\\fotos\\";
    String jspFileName = "ficheiro.txt";
    
    fos = new FileOutputStream(new File(caminho,ficheiro));
    
    Mas não sei se é isto que queres fazer... de qualquer das formas tendo isso em variaveis podes alterar a qualquer altura o nome delas e tornar a coisa um pouco mais dinamica, podes usar getters e setters para melhor efeito.

    o %tomcatroot% será o local onde está a root do teu tomcat, mas podes meter qualquer outra directoria.

    Se n for isto diz e sê mais especifico que a malta tenta ajudar um pouco mais.
     
  5. Insurrecto

    Insurrecto Power Member

    sim isso resolve e eu já tinha percebido... mas o que eu queria era algo do géner: caminho = "..\\fotos\\" e ele sem alterações colocava sempre na pasta fotos dentro da pasta onde estiveressem os jsps... mas isto resolve... gracias!
     

Partilhar esta Página