Árvore de páginas

Função: HTTPCTDisp

Provê informações sobre como apresentar uma mensagem ou parte de um pacote.

HTTPCTDisp ( ) --> Nil

Nil (Nulo)
Retorno nulo
  • Quando parte de um pacote HTTP é para ser tratado como um arquivo atachado, essa função seta essa parte do cabeçalho HTTP (Content-Disposition) como um nome de arquivo sugerido de acordo com o parâmetro.
  • Para mais informações dos tipos de parâmetros, utilizados pelo protocolo HTTP, e opções possíveis para Content-Disposition, consulte o endereço: http://www.ietf.org/rfc/rfc2183.txt
  • Essa função funciona apenas para links .APW - Advanced Protheus Web.
 //Neste exemplo, foi criada uma função STATIC getFile(). Para usarmos a função devemos apenas informar o endereço fisico em disco de um aquivo.//Criamos um pequeno buffer, para ir mandando o pacote ao browser e, em seguida, abrimos o arquivo com a função FOpen() e pegamos o tamanho do arquivo com a função FSeek().//Definimos com a função HttpCTType o tipo de arquivo que iremos carregar, no nosso exemplo apenas arquivos texto. Usamos a HttpCTDisp informando ao browser que estamos carregando um attachment, no caso está linha irá fazer aparecer a tela de download de um aquivo do seu Browser padrão e informamos o local do arquivo.//Em seguida, informamos ao browser qual o tamanho desse arquivo, retornado da função FSeek(), e começamos a enviar o arquivo em pequenos pedaços de 1024bytes.      static Function GetFile( cFile )            Local cHtml		:= ''      Local cBuffer	:= space(1024)            Local hArq       Local nTam             If !file(cFile)      	cHtml += '      --------------------------------------------------------------------------------Arquivo '+cFile+' não encontrado.      --------------------------------------------------------------------------------'      ElseIf (hArq := FOpen(cFile)) < 0      	cHtml += '      --------------------------------------------------------------------------------Falha na Abertura do Arquivo '+cFile+' ( FERROR '+str(ferror(),4)+' )      --------------------------------------------------------------------------------'      Else      	      	// Le o arquivo e manda p/ o browse       	nTam := FSeek(hArq, 0, 2)      	FSeek(hArq, 0, 0 )      	      	HttpSetPart(.T.)      	HttpCTType("text/plain")      	HttpCTDisp('attachment; filename="'+cFile+'"')      	HttpCTLen(nTam)      	      	While FRead(hArq, @cBuffer, 1024)>0      		HttpSend(cBuffer)      	EndDo      	FClose(hArq)	      Endif            Return cHtml
Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

  • Sem rótulos