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 Linha Protheus - ADVPL- Função tFileDialog - Path diferente a partir da versão 10.1.3 do WebApp

time.png Tempo aproximado para leitura: 00:03:00 min

Dúvida
Após atualização do WebApp para a versão 10.1.3 ou superior, o path retornado pela função tFileDialog está diferente. Como ajustar?

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - À partir da versão 12.1.2410

Solução
Caminho da função tFileDialog alterado após atualização do WebApp para 10.1.3 ou superior
Se você atualizou seu WebApp para a versão 10.1.3 ou superior e notou que o caminho retornado pela função tFileDialog está diferente, saiba que essa mudança é intencional e faz parte do novo comportamento da aplicação.

O que mudou?
A partir da versão 10.1.3, quando o parâmetro lSalvar é definido como .F. (falso), o WebApp não retorna mais o caminho local do arquivo no computador do usuário. Em vez disso, ele realiza um upload do arquivo para uma pasta temporária no servidor de aplicação (o AppServer).

O caminho retornado por tFileDialog é agora o caminho completo para essa pasta temporária no servidor, e é exatamente esse caminho que deve ser usado para acessar o arquivo.

Como ajustar?
Não é necessário fazer ajustes no seu código. As funções de acesso a arquivos, como fOpen, fRead e outras, já foram preparadas para lidar com esse novo caminho. Basta passar o caminho completo (o cRet da função tFileDialog) diretamente para essas funções.

Exemplo:

User Function FLDGTST()

local targetDir := ""
Local nHandle 
Local cString := ""
 
  DEFINE DIALOG oDlg TITLE "Exemplo TFileDialog" FROM 0,0 TO 100,200 PIXEL    
    oBtnFIle := TButton():New( 002, 002, "Abre TFileDialog",oDlg,;
      {||;
        targetDir := tFileDialog( "", 'Selecao de Arquivos',, tmp, .F., ), ;
        msgAlert(targetDir);
      }, 50,10,,,.F.,.T.,.F.,,.F.,,,.F. )
      
  ACTIVATE DIALOG oDlg CENTERED

  nHandle := fopen(targetDir , FO_READWRITE + FO_SHARED )
  cTeste := fRead(nHandle, cString, 100) 

return


Essa mudança garante que a manipulação do arquivo ocorra de forma segura e eficiente no ambiente do servidor, sem depender do acesso direto ao disco do cliente.

Importante: 

Chamada da função tFileDialog em ambiente web.
Por questões de segurança, os navegadores não permitem que uma janela de seleção de arquivos seja aberta sem a interação direta do usuário, como o clique em um botão. Por esse motivo, não é possível chamar a função tFileDialog diretamente a partir de uma tela de parâmetros do WebApp.

Para que a função funcione corretamente, ela deve ser chamada a partir de uma ação do usuário, como o clique em um botão na sua rotina.

Saiba mais:
tFileDialog

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
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 _

Preencha os campos abaixo para iniciar o atendimento:

Chat _