No vídeo de hoje, iremos responder a dúvida em como validar o tamanho de um arquivo em AdvPL.
Hoje, a dúvida foi feita pelo grande Romero, onde, além de verificar se um arquivo existe, ele perguntou como validar o tamanho do arquivo, para não pegar conteúdo inválido.
Com isso em mente, é necessário usar a classe FWFileReader e usar o método GetFileSize, que retorna o tamanho do arquivo em bytes, e com isso podemos usar nas nossas customizações para validar.
E abaixo o código fonte desenvolvido para exemplificar:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zVid05 Função de exemplo para validar o tamanho de um arquivo em AdvPL @type Function @author Atilio @since 27/11/2021 @version version /*/ User Function zVid05() Local aArea := GetArea() Local cArquivo := "C:\OBS\Atilio Sistemas\Q100 Fácil.mp4" Local oFile Local nTamanho := 0 Local cMascara := "@E 999,999,999,999,999,999" //Realiza a abertura do arquivo para pegar o tamanho em bytes oFile := FWFileReader():New(cArquivo) If oFile:Open() nTamanho := oFile:GetFileSize() oFile:Close() EndIf //Se tiver tamanho, exibe uma mensagem para o usuário If nTamanho > 0 MsgInfo("O arquivo <strong>" + cArquivo + "</strong>, possui <strong>" + Alltrim(Transform(nTamanho, cMascara)) + " bytes</strong>", "Atenção") EndIf RestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Olá boa tarde,
É possivel avaliar o tamanho do json antes de retornar um GET do REST, para não estourar o MaxString?
Bom dia Douglas, tudo joia?
Eu nunca precisei validar o tamanho, mas ai acho que teria duas alternativas:
A. Aumentar o MaxStringSize no AppServer: https://tdn.totvs.com/pages/viewpage.action?pageId=161349793
B. Utilizar o Begin Sequence … End Sequence, que daí se estourar o erro, você consegue tratar, segue exemplo: https://terminaldeinformacao.com/2023/10/11/tratando-execucoes-e-erros-com-begin-sequence-end-maratona-advpl-e-tl-064/
Tenha um ótimo e abençoado fim de semana.
Um forte abraço.