ERRO SALVAR cGetFile e TFileDialog

Estou com um erro crítico ao salvar arquivos via WEBAPP, Utilizo a função cGetFile - tudo normal. mas na hora do arquivo ser salvo efetivamente, onde indico, geralmente c:\temp\, recebo a seguinte mensagem no console:

[WEBAPP] [ERROR] respond_message: message stack is not the same received! [WEBAPP] [ERROR] - StackMessage: MS_QUERYCOORS | BIT_COMMIT - 3000 [WEBAPP] [ERROR] - Received message: MS_FILEEXISTS | BIT_COMMIT - 1 [WEBAPP] JSON_Session::postMessageToBrowser: CONTEXT_TO_RUN failed. reason: CER_NOT_FOUND

Ao usar a mesma rotina via SmartClient Desktop, tudo funciona bem, arquivo é salvo normalmente, sem problemas.

Alguém mais teve esse problema?

Esta usando o WebAgent? 2. WebApp - WebAgent - TOTVSTEC - TDN

Olá,

Assim como o Leandro comentou, o acesso ao file system é limitado via webapp, por conta dessa limitação entre outras, foi criada o WebAgent, que permite o acesso ao file system, requisições sem problema de CORS entre outras funcionalidades que foram limitadas pelo navegador.

A partir do release 12.1.2410 não existe mais o Smartclient Desktop, portanto o uso do WebAgent será indispensável para que todas as rotinas do Protheus funcionem corretamente.

Documentação: https://tdn.totvs.com/display/tec/2.+WebApp+-+WebAgent


Observação: Existe a possibilidade de salvar o arquivo em seu rootpath e salvar ele via webapp solicitando um download do mesmo via função CpyS2TW

Olá, consegui resolver o problema… atualizando a dll do webapp … e voltou a funcionar normalmente!
Logo, não era nenhum erro em função ou rotina, era uma falha de infra mesmo

Bom dia pessoal, no meu caso quando preciso selecionar um arquivo utilizando a função GetFile(), o sistema até lista as unidades, mas quando acesso a pasta não mostra os arquivos. outro detalhe é que ele demora para lista as pastas locais, antes de listar ele tem a opção no canto direito para selecionar o diretório, aí nesse caso consegue ver tudo, só que em algumas maquinas não aparece a opção.

Você teria um exemplo de como fazer isso ?

mas precisaria usar a TfileDialog com o lSalvar = .F. para ter o comportamento do SO. Nesse caso quando usamos assim é feito um “upload” do arquivo para dentro de uma pasta temporaria do “WEBAPP” e essa pasta não fica dentro do “Rootpath” e sim dentro de onde está instalado o AppServer. Esse é o problema pq se estivesse dentro do “RootPath” a função CPYS2TW funcionaria. |Utilizamos o WEBAGENT tb e estamos na versão 2410 do Protheus.