Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmentos - TOTVS Backoffice (Línea Protheus) - MI - ADVPL - ¿Cómo enviar un archivo mediante una solicitud REST?

relogio_tempo_leitura_2.png Tiempo aproximado de lectura 00:05:00 min

Duda
¿Cómo enviar un archivo mediante una solicitud REST?

Entorno
Cross Segmentos - TOTVS Backoffice (Línea Protheus) - MI - ADVPL - A partir de la versión 12.1.2210

Solución
Para devolver cualquier archivo mediante un servicio REST, simplemente lea el archivo con su clase preferida (para un mejor rendimiento, recomendamos usar la clase FwFileReader() con el método FullRead()).

Tras leerlo, envíe el archivo y el encabezado que aparece a continuación, ya que indican que el archivo se puede descargar a través del navegador (si la llamada se realiza a través del navegador).

Importante: Solo es posible manipular archivos que se encuentren dentro de la ruta raíz de Protheus.

// BIBLIOTECAS NECESARIAS
#Include "TOTVS.ch"
#Include "RESTFUL.ch"

// DECLARAÇÃO DO SERVIÇO REST
WSRESTFUL DOWNLOAD_FILE DESCRIPTION "Servicio para teste de envió de archivo."
// DECLARAÇÃO DO MÉTODO GET
WSMETHODGET DESCRIPTION"Regresa un archivo por medio del método FwFileReader()."
END WSRESTFUL

// MÉTODO GET
WSMETHOD GET WSREST DOWNLOAD_FILE
Local cFile := ""// VALORES RETORNADOS EN LA LECTURA
Local oFile := FwFileReader():New("/NR5.pdf") // RUTA ROOTPATH

// SE FOR POSSÍVEL ABRIR O ARQUIVO, LEIA-O
// SE NÃO, EXIBA O ERRO DE ABERTURA
If (oFile:Open())
cFile := oFile:FullRead() // EFETUA A LEITURA DO ARQUIVO

// RETORNA O ARQUIVO PARA DOWNLOAD
Self:SetHeader("Content-Disposition", "attachment; filename=NR5.pdf")
Self:SetResponse(cFile)

lSuccess := .T. // CONTROLE DE SUCESSO DA REQUISIÇÃO
Else
SetRestFault(002, "can't load file") // GERA MENSAGEM DE ERRO CUSTOMIZADA

lSuccess := .F. // CONTROLE DE SUCESSO DA REQUISIÇÃO
EndIf
Return (lSuccess)
¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0

0 Comentarios

Inicie sesión para dejar un comentario.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Rellene los campos siguientes para iniciar el chat:

Chat _