Boa Tarde. Tenho que implementar uma rotina para leitura de um arquivo texto e importação de varios dados constante nesta arquivo texto.
Só que estou enfrentando problemas com o carregamento do arquivo via Vraptor + ajax.
quando tenho o codigo no meu .jsp desta forma, funciona sem problemas:
[code]
<form id=“form” action="<c:url value="/importador/importararquivoposto"/>" method=“POST” style=“width:400px;” enctype=“multipart/form-data”>
<button type="submit"><p>Importar Arquivo</p></button>
</form>[/code]
Mas quando tenho que fazer isto via Ajax jquery, o meu controller fica nulo no atributo UploadedFile.
Segue o codigo:
[code]
Centro de custo:
<c:forEach items="${centroDeCustosList}" var=“ccustos”>
${ccustos.codigo} - ${ccustos.nome}
</c:forEach>
<label for="codccusto">Selecione o arquivo a ser importado: </label>
<input type="file" name="imagem" id="file" style="width:350px" class="validate[required]" />
</br></br>
<button type="submit"><img src="<c:url value="/imagens/formulario_icone_gerar.png"/>" alt="submit" class="iconegerar" /><p>Importar Arquivo</p></button>
</form>[/code]
-chamada Ajax:
[code]$.ajax({
type: “POST”,
url: “<c:url value=”/importador/importararquivoposto"/>",
data: $("#form").serialize(),
dataType: “json”,
error: function(e, jXHR, textStatus, errorThrown, data) {
alert(e.responseText);
},
success: function(data) {
var myObj = eval(data);
alert(myObj.errors[0].message);
alert(myObj.errors[0].category);
if (myObj.errors == null) {
$( “#dialog:ui-dialog” ).dialog( “destroy” );
$( "#dialog-sucess" ).dialog({
modal: true,
autoOpen: true,
buttons: {
Ok: function() {
$( this ).dialog( "close" );
}
}
});
}
}
});[/code]
Tenho a impressão que via ajax o form não assume o enctype="multipart/form-data"
Seria isto mesmo? já tentei resolver, mas não consegui?
E aproveitando. seria a melhor forma de eu fazer a importação deste arquivo txt.
Obrigado pela ajuda, mais uma vez.
Rodrigo