public class ParceiroLogoForm extends ActionForm {
private static final long serialVersionUID = 1L;
//campo para foto: gabriel
private FormFile fotoLogo;
public String nome="teste";
public void reset(ActionMapping mapping, HttpServletRequest request) {
super.reset(mapping, request);
}
public FormFile getFotoLogo() {
return fotoLogo;
}
public void setFotoLogo(FormFile fotoLogo) {
this.fotoLogo = fotoLogo;
}
}
//Vou omitir parte do código da action
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ParceiroLogoForm parceiroForm = (ParceiroLogoForm) form;
byte[] foto = parceiroForm.getFotoLogo().getFileData();
System.out.println(foto.toString());
// [.... mais código abaixo .......]
}
}
Agora pedaço do JSP, o form e a funcação java script
<html:form styleId="parceiroLogoForm" action="carregaLogoCliente.do" enctype="multipart/form-data">
Logo Tipo<html:file property="fotoLogo" styleId="flFotoLogo" />
<input type="button" onclick="loaderFoto();" />
<html:submit />
</html:form>
//função
function loaderFoto(){
YAHOO.util.Connect.setForm('parceiroLogoForm');
var uploadHandler = {
upload: function(retorno) {
alert(retorno.responseText);
$('#divImage').empty().append(retorno.responseText);
$('#divImage').show();
}
};
YAHOO.util.Connect.asyncRequest('POST', 'carregaLogoCliente.do', uploadHandler);
}
Só algumas obs, estou utilizando a API Yahoo, outra coisa omiti parte do código pq era preciso, desculpa é da empresa.
MAS será que tenho que definir enctype="multipart/form-data" em javascript de novo para poder enviar o arquivo.??
falow