Grande problema com upload(Ext-js/jsp)

0 respostas
arthurminarini

olá pessoal sou novato aqui e se alguem puder me ajudar ficarei grato.
Estou tentando fazer upload e achei muita coisa na net. só que todos que eu vi
estavam com seu conteudo presos em jsp. Tenho uma classe java para upload

public class UploadBean {
    private DiskFileItemFactory fileUpload = new DiskFileItemFactory();
    private ServletFileUpload sfu = new ServletFileUpload(fileUpload);
    private String diretorio;
    private String filename;

    public String getDiretorio() {
        return diretorio;
    }

    public void setDiretorio(String diretorio) {
        this.diretorio = diretorio;
    }

    public String getFilename() {
        return filename;
    }

    public void setFilename(String filename) {
        this.filename = filename;
    }

    @RemoteMethod
    public boolean doFilePost(HttpServletRequest request, ServletContext context) {
        if (request.getContentType() == null)
            return false;
        if (! request.getContentType().startsWith("multipart/form-data"))
            return false;

        setDiretorio("//aplicacao/web/arquivos/");
        
        //String path = context.getRealPath(getDiretorio());
        String path = getDiretorio();
        try {
            List list = sfu.parseRequest(request);
            Iterator iterator = list.iterator();
            while(iterator.hasNext()) {
              FileItem item = (FileItem) iterator.next();
              
              if (!item.isFormField()) {
                filename = item.getName();

                if ((filename != null) && (!filename.equals(""))) {
                  filename = (new File(filename)).getName();                  
                  item.write(new File(path + filename));
                }
              }
            }
        } catch (FileUploadException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }

se eu usar o jsp funciona normalmente:

<html>
    <head>
    </head>
    <body>
        <jsp:useBean id="up1" scope="page" class="br.com.cristaltemper.eleicaocipa.util.UploadBean"/>
        
        <%
        up1.doFilePost(request, application);
        %>
        
        <form method="post" action="fileUpload.jsp" enctype="multipart/form-data">
            Arquivo : <input type="file" name="file" id="txtfile"/> <br>
            <input type="submit" name="submit" value="Enviar" id="submit"/>
        </form>
    </body>
</html>

o problema é que não posso usar este jsp pois a interface vem do ext-js.

a maioria dos codigos que eu achei precisa de dois parametros que é HttpServletRequest e o ServletContext que pelo que percebir são controlados na pagina jsp.
Se eu incluir um arquivo no inputfile e dar um submit funciona pois contem um “multipart/form-data” e também um arquivo carregado.

A pergunta é o seguinte: com simular la na classe esse “multipart/form-data” e também passar como parametro apenas o diretorio onde se encontra o arquivo sem necessitar de um inputfile?

agradeço desde já!!

Criado 21 de janeiro de 2009
Respostas 0
Participantes 1