- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- WebServices (Integração)
- Download arquivo PDF via webservice REST AdvPL
Perguntas Download arquivo PDF via webservice REST AdvPL
- s_prat
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 27
- Obrigados Recebidos: 0
7 anos 11 meses atrás #31615
por s_prat
Download arquivo PDF via webservice REST AdvPL foi criado por s_prat
Boa noite a todos os guerreiros do master advpl.
Seguinte: estou tentando fazer o download de um arquivo PDF via webservice REST só que o arquivo baixado vem corrompido. Estou maluco aqui sem conseguir entender, pois o arquivo a ser baixado está lá na pasta bonitinho, eu já abri ele e não está corrompido. Alguém poderia me dá uma luz?? Será algo que estou fazendo de errado??
Segue um trecho do fonte para melhor análise.
cFileName := "10285001a010014980171adt.pdf"
cPath := "financeiro\workflow\10285001\"
cFile := cPath + cFileName
If File( cFile )
nHdl := fOpen( cFile, 2)
nTamFile := fSeek(nHdl,0,2)
fSeek(nHdl,0,0)
fRead(nHdl,@cBuffer,nTamFile)
fClose(nHdl)
::SetContentType( 'application/pdf' )
::SetContentLenght( allTrim(Str(Len(cBuffer))) )
::SetHeader( 'Content-Disposition', 'attachment; filename=' + allTrim( cFileName ) )
::SetHeader( 'Pragma', 'no-cache' )
::SetResponse( cBuffer )
Else
::SetResponse('{')
::SetResponse('"Erro":"Arquivo não encontrado"')
::SetResponse('}')
EndIf
Seguinte: estou tentando fazer o download de um arquivo PDF via webservice REST só que o arquivo baixado vem corrompido. Estou maluco aqui sem conseguir entender, pois o arquivo a ser baixado está lá na pasta bonitinho, eu já abri ele e não está corrompido. Alguém poderia me dá uma luz?? Será algo que estou fazendo de errado??
Segue um trecho do fonte para melhor análise.
cFileName := "10285001a010014980171adt.pdf"
cPath := "financeiro\workflow\10285001\"
cFile := cPath + cFileName
If File( cFile )
nHdl := fOpen( cFile, 2)
nTamFile := fSeek(nHdl,0,2)
fSeek(nHdl,0,0)
fRead(nHdl,@cBuffer,nTamFile)
fClose(nHdl)
::SetContentType( 'application/pdf' )
::SetContentLenght( allTrim(Str(Len(cBuffer))) )
::SetHeader( 'Content-Disposition', 'attachment; filename=' + allTrim( cFileName ) )
::SetHeader( 'Pragma', 'no-cache' )
::SetResponse( cBuffer )
Else
::SetResponse('{')
::SetResponse('"Erro":"Arquivo não encontrado"')
::SetResponse('}')
EndIf
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- WebServices (Integração)
- Download arquivo PDF via webservice REST AdvPL
Tempo para a criação da página:0.084 segundos