Struts - Bug no Submit com FormFile, em alguns browsers

6 respostas
marcelo.bellissimo

Pessoal, estou começando com Struts e estou com uma duvida…

Estou usando um campo FormFile para fazer upload de um arquivo para processamento no meu aplicativo, porém no browser acontece algo estranho…
Parece que sempre que é digitado algo que não tenha o formato de um caminho de arquivo (c:\pasta\arquivo.txt …) o botão Submit para de funcionar… se eu digitar ‘abc’ por exemplo, e tentar clicar no submit, nada acontece, nada mesmo… não entra no execute(), nem nada…

Alguém já viu isso? É algum erro da minha aplicação, ou será um bug do browser ou do próprio framework?
Uso o Struts 1.3.5, e fiz testes no IE e no FX.

Grato.

6 Respostas

foxpv

mas vc tah querendo q ele faca alguma coisa qdo o arquivo digitado n existe?

tipo, acho melhor vc bloquear o campo pra digitacao, e deixar liberado apenas a opcao d escolher o arquivo naquele botao… mais seguro neh n?

marcelo.bellissimo

Então, eu pretendia fazer alguma validação, por exemplo, informar que o cara digitou alguma abobrinha no campo… mas com esse bug esquisito ai nem isso dá pra fazer… e o botão submit fica inutilizado, não dá nem pra informar pro usuário que é preciso limpar o campo pra poder prosseguir… entende o problema?

Se o cara digitar uma letrinha só sequer, ele trava a página e minha aplicação fica lá sem fazer nada, e isso é intolerável para o usuário, depois sobra pra mim… :lol:

A sua alternativa é boa, mas como exatamente faço isso, já que o unico meio “não-javascript” de fazer isso (que eu saiba) é setando o parametro “disabled” do html:file pra “true” ?

foxpv

eh… n da pra usar o disabled n pq ele desabilita o campo inteiro inclusive o botao :frowning:
teria q ser via javascript msm… pelo menos agora n me vem outra maneira na cabeça de faze-lo

foxpv

mas engraçado, eu testei o html:file aqui, e qdo eu digitei alguma coisa invalida n travou nd n… apenas na hora do submit ele considerou q o campo estava vazio…

marcelo.bellissimo

É, isso também é estranho… esse FormFile é meio esquisito pois mesmo quando eu informo um caminho de um arquivo que não existe, ele “magicamente” lê alguma coisa, quer dizer, o arquivo não é passado como ‘[color=#7F008E]null[/color]’ e nem é gerada uma exceção de FileNotFoundException … eu que tive que fazer minha própria rotina pra verificar se ele realmente está pegando um arquivo ou não (baseado no conteúdo desse arquivo que ele “magicamente” lê) e depois fazer um ‘[color=#7F008E]throw new[/color] FileNotFoundException();’

foxpv

pois eh cara… mas o mais estranho eh q no meu aqui funcionou direito sem essas esquisitices ae… seria legal c vc escrevesse o seu código aqui pra eu ver c tem alguma coisa diferente…

Criado 28 de agosto de 2007
Ultima resposta 28 de ago. de 2007
Respostas 6
Participantes 2