Função: HTTPCTDisp
Provê informações sobre como apresentar uma mensagem ou parte de um pacote.
HTTPCTDisp ( ) --> Nil
Nil (Nulo)
Retorno 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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas