CpyF2Web [AS] - A função copia um arquivo entre o Servidor e a Estação de Trabal
Autor: Eurai Criado: 08/06/2025 Atualizado: 11/06/2025Descrição
CpyF2Web [AS] - A função copia um arquivo entre o Servidor e a Estação de Trabalho e vice-versa. |
Sintaxe
CpyF2Web( < cOrigem >, [ lIsUserDiskDir ], [ lCompactCopy ], [ lChangeCase ], [ lUnZipFile ] ) |
Parâmetros
Par | Nome | Tipo | Descrição | Default |
01 |
cOrigem |
Caracter |
Indica o arquivo de origem para a cópia Para cópia de um arquivo do Servidor para a Estação de Trabalho utilize CpyF2Web("/images/imagem.png", ... Para cópia de um arquivo da Estação de Trabalho para o Servidor utilize Para Windows CpyF2Web("c:/images/imagem.png",... Para Linux/MacOS CpyF2Web("l:/images/imagem.png",... |
|
02 | LIsUserDiskDir | lógico | Se LIsUserDiskDir for definido como .T. O arquivo será copiado para a pasta .../appserver/webapp/user/<ID do usuário>/ Essa pasta é temporária, permitindo o uso do arquivo durante a sessão deste usuário, sendo excluída na sequência Exemplo de retorno copiando o arquivo para a pasta USER Se LIsUserDiskDir for definido como .F. O arquivo será copiado para a pasta .../appserver/webapp/cache/<environment>/. Essa pasta é excluida caso -O Servidor de Aplicação (AppServer) seja reiniciado; -O Administrador do ERP a exclua manualmente. Exemplo de retorno copiando o arquivo para a pasta CACHE cf899c9b-7ab5-4d60-a2b6-a35651a9d18f/cache/sqlite/file.txt |
.T. |
03 | lCompactCopy | lógico | Indica se o arquivo deve ser internamente compactado (.T.) antes de fazer a cópia | .T. |
04 | lChangeCase | lógico | Se verdadeiro (.T.), nomes de arquivos e pastas serão convertidos para letras minúsculas caso contrário, falso (.F.), não será feito nenhum ajuste no nome do arquivo informado. |
.T. |
05 | lUnZipFile | lógico | Se verdadeiro (.T.), o arquivo será descompactado no diretório de destino. Default = | .F. |
Retorno
Retorno | Tipo | Descrição |
lRet | Boolean |
Retorna verdadeiro (.T.), se o arquivo for copiado com sucesso; Retorna falso (.F.), em caso de falha na cópia |
Exemplo
#INCLUDE "TOTVS.CH" User Function CpyF2Web() Local cRet := CpyF2Web("c:/temp/XXXX.zip", .T., .F., .T., .F.) If (cRet != "") conout(cRet) Else conout("Falha na copia") EndIf Return( Nil )
Resultado
Informações adicionais
Disponível apenas para uso com o WebApp (sem Web-Agent). Caso esteja com o Web-Agent, utilizar as funções de cópia padrão (CpyS2T, CpyT2S).
Para identificar se o Web-Agent está em uso ou não, deve-se utilizar a função GetRemoteType |
A função CpyF2Web não permite execução via Job, sendo finalizada com a mensagem de erro: "Function CpyF2Web() doesn't available in JOB.". |
É importante evitar o uso do parâmetro <lCompactCopy> caso esteja copiando um arquivo já compactado (ex: ZIP, TAR, etc), evitando um processo desnecessário. |
Para Linux, o parâmetro <lChangeCase> definido como (.T.) tem prioridade em relação às chaves CASESENSITIVE ou SERVERTYPE definidas no appserver.ini. |
Para Windows, o parâmetro <lChangeCase> não influência na utilização, pois este sistema operacional é case insensitive. |
Quando referenciar arquivos na estação de trabalho é importante utilizar uma letra de drive, ex c:\, mesmo em Linux/MacOS, para que haja uma diferenciação da origem do arquivo: Para Windows: "c:\diretorio\arquivo" Para Linux/MacOS: "l:/diretorio/arquivo" |
Quando a origem estiver na estação de trabalho é obrigatório a utilização do WebAgent para a cópia. |
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎
Discussão (0)
Sem comentários ainda
Realize o LOGIN no site para poder comentar