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á!!