Descriçã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! 😎