FileUpload

5 respostas
D

Estou tentando fazer um upload de arquivo, mas toda vez que vou realmente fazer um upload ele nao está salvando o arquivo, qual pode ser o problema?
estou passando o codigo para voces

esse é meu servlet

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, FileUploadException, Exception {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String JAR = null;
        String JAD = null;
        try {

            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            List <FileItem> items = upload.parseRequest(request);

            Iterator inter = items.iterator();
            while(inter.hasNext()) {
                FileItem item = (FileItem) inter.next();
                StringBuffer bn = new StringBuffer();  
                if(!item.isFormField()) {
                    if(item.getContentType().equals("jar")) {
                        JAR = item.getName();
                    }
                    if(item.getContentType().equals("jad")) {
                        JAD = item.getName();
                    }
                    File fullFile = new File(item.getName());
                    String path = getServletContext().getRealPath("/Arquivos");
                    String nome = fullFile.getName();
                    File savedFile = new File(path,nome);
                    item.write(savedFile);
                }
            }
            
            getServletContext().getRequestDispatcher("/arquivoenviado.jsp").forward(request, response);
        } catch(Exception e) {
            out.println(e);
        }
    }

esse é meu JSP

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Certificado</title>
    </head>

    <body>
        <h1>Entre Com os Seus Arquivos:</h1>
        <form action="CCertificado" method="POST" enctype="multipart/form-data">
            JAD: <input type="file" name="JAD" value="JAD"/>
            <input type="submit" value="Certificar" name="cert" />
        </form>
    </body>
</html>

5 Respostas

UMC

Cara tenta algo assim!!

try {
    byte[] bytes = FileUtils.convertInputStreamToByteArray(is);//is é o InputStream recuperado na ServletUpload
    OutputStream out = new FileOutputStream("C:\\arquivo_saida.txt");//criamos um arquivo de saída. txt é uma extensão de exemplo, você deverá utilizar a extensão do arquivo selecionado no input file da página.
    out.write(bytes);
    out.flush();
    out.close();
} catch (Exception e) {
}

No seu codigo esta assim!!

String path = getServletContext().getRealPath("/Arquivos");

se vc ultiliza Eclipse ,esta linha esta indicando que ele vai salvar em um diretorio que o eclipse cria e seu arquivo na pasta ("/Arquivos"); do diretorio do eclipse.
esse diretorio provalvelmente fica onde vc coloca seus projetos e so fazer uma pesquisa com o nome do arquivo que vc passou peo File Upload.
espero que seja
vlw
abs

D

Nao funcionou desse jeito tambem :confused:

UMC

Que navegador vc esta ultilizando???

G

O ideal é que você nos diga o comportamento, alguma mensagem, stacktrance. Apenas dizer “não funcionou” deixa complicado te ajudar.

D

funcionou agora!!
vlw!

Criado 13 de novembro de 2009
Ultima resposta 14 de nov. de 2009
Respostas 5
Participantes 3