quarta-feira, 24 de março de 2021

DICAS 3290 - WINDEV WEBDEV MOBILE - WEBSERVICE - 31- Otimizando o uso de memória ao transferir dados para uma Api Rest







https://youtu.be/QB7ac0tT8V8



Bom Dia Boa Tarde Boa Noite

Mande um email pedido para receber todas notificaçoes dos videos 


Seja Membro do Canal

Esse Video vai estrear as  do dia 24/03/2021 

DICAS 3290 - WINDEV WEBDEV MOBILE - WEBSERVICE - 31- Otimizando o uso de memória ao transferir dados para uma Api Rest


assuntos 


-------------------------------------------  CODIGO

// Otimizando o uso de memória ao transferir dados para uma API REST 

//Para enviar arquivos (textos, binários, imagens, etc.) para um serviço da web REST,
// é comum ter um código como:

meu_http_request is httpRequest

meu_http_request.Method httpPost

meu_http_request.URL = "http://ServeurDestination/UrlWebServiceRest/.../FinURL"

meu_http_request.Content fLoadBuffer("C:\...\FichieraUploade.bin")

RESTSend(meu_http_request)


-------------------------------------------  CODIGO

ApiRest is httpRequest

HTTPCreateForm("FORM")

HTTPAddParameter("FORM", "parametres","3400")                                                

HTTPAddFile("FORM", "fichier_upload","C:\FichieraUploade.bin")

ApiRest.URL "http://ServeurDestination/UrlWebServiceRest/.../FinURL"

ApiRest.Method httpPost

ApiRest.ContentType typeMimeMultiPartForm

RETORNO_API_REST is boolean HTTPSendForm("FORM", ApiRest)


-------------------------------------------  CODIGO
--------------------- Indice WebService

Criar Projeto WebService - Lista Site - - WebService - 001/...
Deploy - Gerando WebService/Levando Servidor/Instalar/Mostrar - WebService - 002/...
Instalando SoapUI - Testar WebService - Aula 1040 - WebService - 003/...
Ajustando Xml Lista Site WebService - WebService - 004/...
Consumir WebService - WebService - 005
Xml - Consumir Ler Xml e colocar Tabela - WebService - 006
Dolar - Consumir WebService - Cotação Dolar - 007
Cnpj Receita - Consumir WebService - 008/...
Cep Buscar WebService Correio - WebService - 009/...
CONSULTA CADASTRO SEFAZ P-1 - DICAS 1871 - WINDEV_23 - WEBSERVICE 010 - 
CONSULTA CADASTRO SEFAZ P-2 - 1872 - PUBLICA - WINDEV_23 - WEBSERVICE 011 - 
CONSULTA CADASTRO SEFAZ P-3 - 1873 - PUBLICA - WINDEV_23 - WEBSERVICE 012 -
DICAS 1877 - WINDEV_23 - WEBSERVICE 014 - CNPJ BUSCA CADASTRO ACBR
DICAS 2019 - WINDEV - WEBSERVICE - 015 - APRENDER A FAZER REST WEBSERVICE
DICAS 2020 - WINDEV - WEBSERVICE - 016 - CRIANDO TABELAS
DICAS 2021 - WINDEV - WEBSERVICE - 017 - WDTESTREST
DICAS 2022 - WINDEV MOBILE - WEBSERVICE - 018 - LER WEBSERVICE RESTSend
DICAS 2023 - WINDEV MOBILE - WEBSERVICE - 019 - LER WEBSERVICE RESTSend SOMENTE 1 REGISTRO
DICAS 2024 - WINDEV MOBILE - WEBSERVICE - 020 - WEBSERVICE RESTSend CRIA NOVO REGISTRO - httpPost
DICAS 2025 - WINDEV MOBILE - WEBSERVICE - 021 - WEBSERVICE RESTSend ALTERA REGISTRO - httpPut
DICAS 2026 - WINDEV MOBILE - WEBSERVICE - 022 - WEBSERVICE httpRequest httpDelete
DICAS 2033 - WINDEV - WEBSERVICE 23 - HTTPRequest - HTTPGetResult - fSaveBuffer - BAIXAR ARQUIVO
AO VIVO-SOAP-DICA 2095-WINDEV MOBILE WEBDEV-WEBSERVICE COM MOBILE -
DICAS 2096-2095 - WINDEV WEBDEV MOBILE - WEBSERVICE 25 - SOAP
DICAS 2097 - WINDEV MOBILE - WEBSERVICE 26 - MOSTRAR CLIENTES - SOAP
DICAS 2132 - HANGOUT AO VIVO 20 HORAS 30/05 - WEBSERVICE SOAP COM MOBILE
DICAS 2163 WINDEV WEBDEV MOBILE WEBSERVICE 28 SOAP
DICAS 2226 WINDEV WEBDEV MOBILE 24 NOVIDADES 26 WEBSERVICE 29 HTTPREQUEST - BUSCA CNPJ
DICA 2687 - WINDEV WEBDEV MOBILE - WEBSERVICE 32 - EXPLICANDO WEBSERVICE SOAP E CONSUMIDO MOBILE E DESKTOP
DICAS 3290 - WINDEV WEBDEV MOBILE - WEBSERVICE - 31- Otimizando o uso de memória ao transferir dados para uma Api Rest

PlayList WebDev tutorial Amarildo Webdev
Playlist Windev Tutorial Amarildo Windev
PlayList Windev Mobile 
Amarildo
Donwloads Windev
Windev
WxSolucoes
Matos Informatica
Repositorio Windev
Inscricao Evento Pcsof
Site forum Google 
Video sobre 3 Mil Videos Windev 
Video sobre Alfaserver servidor 








Tags: multipart , Webservice , api , rest
23 de março de 2021
publicado por  

Para enviar arquivos (textos, binários, imagens, etc.) para um serviço da web REST, é comum ter um código 

como:


meu_http_request is httpRequest

meu_http_request.Method = httpPost

meu_http_request.URL = "http://ServeurDestination/UrlWebServiceRest/.../FinURL"

meu_http_request.Content = fLoadBuffer("C:\...\FichieraUploade.bin")

RESTSend(meu_http_request)


 

 

Esta solução requer carregar na memória o conteúdo do arquivo a ser enviado ao webservice. Portanto, 

é perfeitamente adequado para um único arquivo, não ultrapassando alguns mega. Por outro lado, quando 

a transferência for grande, ou se for feita a partir de um dispositivo com memória limitada, outra solução 

é recomendada. É uma questão de envio "multipartes", com o princípio da forma. De fato, desta forma a 

transferência com o servidor que hospeda o webservice será gerenciada automaticamente por bloco, 

sem mudança completa na memória:

 

ApiRest is httpRequest

HTTPCreateForm("FORM")

HTTPAddParameter("FORM", "parametres","3400")                                                

HTTPAddFile("FORM", "fichier_upload","C:\FichieraUploade.bin")

ApiRest.URL = "http://ServeurDestination/UrlWebServiceRest/.../FinURL"

ApiRest.Method = httpPost

ApiRest.ContentType = typeMimeMultiPartForm

RETORNO_API_REST is boolean = HTTPSendForm("FORM", ApiRest)


 

Com esta solução, que se aplica se o aplicativo cliente que consome o serviço da web está no Windows,

 Android, iOS:

  • vários arquivos podem ser enviados na mesma solicitação, basta repetir as chamadas HTTPAddFile .
  • um acompanhamento da transferência com um medidor é permitido com a propriedade
  •  ProgressDownload do tipo httpRequest ,
  • uma transferência assíncrona é autorizada a partir da versão 26, graças à sintaxe assíncrona da 
  • função HTTPSendForm .

Teste

Teste
teste