vamosAeles Escreveu:Estás a usar a framework do struts? se sim, é bastante fácil. Basta definir o form bean no ficheiro de configuracao:
<form-bean name="importaBDForm" dynamic="true" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="ficheiro" type="org.apache.struts.upload.FormFile" />
</form-bean>
E depois do ficheiro java, na classe que executa essa acção qq coisa do estilo:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response, ActionMessages messages, ActionMessages errors) throws Throwable {
MultipartRequestHandler mrh = null;
mrh = form.getMultipartRequestHandler();
FormFile ff = (FormFile) mrh.getFileElements().get("ficheiro");
FileOutputStream out = new FileOutputStream("C:/"+ff.getFileName());
byte dados[] = new byte[5000000]; // 5 Megas
InputStream in = ff.getInputStream();
int numLido;
while(true){
numLido = in.read(dados);
if(numLido == -1){
break;
}
out.write(dados,0,numLido);
}
out.close();
return mapping.findForward("Siga");
}
}
Pois, julgo que não, não conheço esse framework.
Eu tenho um form na pagina JSP do genero:
<form method="POST" enctype="multipart/form-data">
<p><input type="file" name="F1" size="20"></p>
<p><input type="submit" value="Anexar" name="B1"></p>
</form>
e tenho informação do bean assim:
<jsp:directive.page import="nome.myBean" />
<jsp:useBean id="idbean" scope="page" class="nome.myBean" />
<jsp:setProperty name="idbean" property="*" />
o submit é feito para este bean chamando uma função por exemplo:
idbean.setFicheiro();
e queria saber como implementar no bean um metodo que simplesmente guarde numa directoria o ficheiro.
Pra já precisava apenas de passar o nome e ele guardasse, nem precisava de me preocupar com limites de tamanho, etc.
Obrigado na mesma pela ajuda. Vou tentar perceber o código acima.
