Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
erro versao intraweb
#1
no iw 14 isso funciona, mas no 15 agora ele nao executa o sendfile.

WebApplication.SendFile( gSC.CacheDir +FFileName+'.tmp', True, 'application/txt', arquivodestino);

  TIWAppForm(WebApplication.ActiveForm).Release;
  TFListaRecibo.Create(WebApplication).Show;

ele passa pela linha do sendfile, executa os proximos e o sendfile nao e executado.

deve ser algum bug do intraweb
existe uma maneira de fazer o dowload e depois ele ir para um determinado formulario. Tentei de varias forma e nao consegui
Reply
#2
Isto não é um bug. Uma aplicação web não envia a resposta quando vc chama o SendFile() (ou qualquer outro método). Uma aplicaçao web funciona assim:

»» Recebe a requisição
»»» processa a requisição
»» Envia a resposta

onde tem aí "processa requisição" é TUDO que você faz nos seus métodos

SendFile(), Release(), Show() e qualquer outra coisa que vc fizer no seu código é executado ANTES de enviar a resposta.

Ao enviar a resposta é que seu arquivo será enviado. No SendFile() você apenas informa qual arquivo quer enviar

o SendFile() é um caso atípico.

Uma resposta para uma requisição só tem um conteúdo. Usando só HTTP você não pode responder com um arquivo + um form novo para o browser renderizar

então, se vc enviar um arquivo para download, com SendFile(), fazer um outro form seu form ativo não vai mudar o form na tela (pois a requisição continha um arquivo para download, não um HTML com o novo form).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)