Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Problemas com o SystemDocumentUploaderService - Mód. Documentos Estou com o seguinte problema com o novo módulo de documentos do do novo template versão 4.0 ao comentar a linha onde é atribuído o serviço SystemDocumentUploaderService para o objeto TFile o upload não funciona (fica parato e não transfere o arquivo para a pasta 'tmp'). Porém quando a linha é comentada funciona perfeitamente, porém o download não é controlado pelo serviço. Alguém es...
AG
Problemas com o SystemDocumentUploaderService - Mód. Documentos  
Estou com o seguinte problema com o novo módulo de documentos do do novo template versão 4.0 ao comentar a linha onde é atribuído o serviço SystemDocumentUploaderService para o objeto TFile o upload não funciona (fica parato e não transfere o arquivo para a pasta 'tmp'). Porém quando a linha é comentada funciona perfeitamente, porém o download não é controlado pelo serviço. Alguém está com o mesmo problema ? É necessário alguma configuração adicional não documentada ?. Obrigado.

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (8)


NR

O que você quer dizer com "o download não é controlado pelo serviço"? Aparece alguma imagem(carregando,erro)?

Algumas coisas que você pode verificar:
- a pasta tmp/ tem permissão de escrita?
- o arquivo enviado não é maior que o definido na configuração do php?
AG

Olá Nataniel Rabaioli, sim já verifiquei as permissões como também o tamanho do arquivo (47k) e está tudo ok, pois quando comento a linha onde é configurado o serviço "SystemDocumentUploaderService" o upload é feito normalmente em primeiro plano para a pasta 'tmp' e depois quando o registro é efetivado em tabela o arquivo é salvo na pasta 'files/documents' e quando digo que '..só que não é controlado pelo serviço' estou dizendo que não está sendo realizado o filtro de tipos de extensão. Um outro fato que percebí é que a classe SystemDocumentUploaderService não é registrada na classe 'AdiantClassMap', diferente da classe padrão de configuração de upload da TFile a 'AdiantiUploaderService' que por sinal funciona perfeitamente e quando me referi que '..fica parado' realmente fica parado(exceto a animação circular do ícone de carregamento) e não apresenta nenhum erro não importa o tempo que eu espere. Esse recurso é muito interessante e já o parabeniz pelo desemvolvimento.
NR

Estranho, pois as 2 classes têm praticamente a mesma estrutura, exceto pela verificação de extensão. E testando aqui funcionou.

Se estiver usando o Chrome verifique com a ferramenta de inspecionar(F12) se a requisição está terminando ou se ocorre algum erro de javascript.
Se isso estiver ok, aí sugiro que acrescente o código abaixo na classe SystemDocumentUploaderService:
  1. <?php
  2. // esse if ja existe
  3. if( $file['error'] === && $file['size'] > )
  4. {
  5. ...
  6. }
  7. // adicionar esse else
  8. else
  9. {
  10.       $response = array();
  11.       $response['type'] = 'error';
  12.       $response['msg'] = $file['error'];
  13.       echo json_encode($response);
  14. }
  15. ?>

Caso apareça a imagem de erro, deixe o mouse sobre ela para ver o código do erro. Depois confira no site abaixo qual erro esse código representa:
www.php.net/manual/en/features.file-upload.errors.php
AG

O que eu consegui identificar de erro foi:

jquery.min.js:4 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.send @ jquery.min.js:4
index.php:1

Uncaught SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at Function.n.parseJSON (www.xxxx.xxxxxx.com/lib/jquery/jquery.min.js?afver=400:4:5497)
at XMLHttpRequest.TFileAjaxUpload.TFileAjaxUpload.onreadystatechangeHandler (www.xxxx.xxxxx.com/lib/adianti/include/components.min.js?afver=400:1)</anonymous>
H

O meu aqui tambem esta com esse erro..

quando confirma o Doc para envio, somente fica o .gif girando e nao faz o upload,

pelo inspetor do firefox, identifiquei que da o seguinte erro "Fatal error: Class 'finfo' not found in C:xampphtdocstemp4appserviceSystemDocumentUploaderService.class.php on line 42<br />"..
EF

Se publicar local no c:xampp funciona perfeitamente. ( PHP Version 7.0.13)


Mas publiquei na web ( kinghost) ( estou com php PHP Version 7.0.13)

da o erro quando seleciona o arquivo.

VM363:2 Uncaught SyntaxError: Unexpected token F in JSON at position 1
at JSON.parse (<anonymous>)
at Function.n.parseJSON (jquery.min.js?afver=400:4)
at XMLHttpRequest.TFileAjaxUpload.TFileAjaxUpload.onreadystatechangeHandler (components.min.js?afver=400:1)
n.parseJSON @ jquery.min.js?afver=400:4
TFileAjaxUpload.TFileAjaxUpload.onreadystatechangeHandler @ components.min.js?afver=400:1
VM364:2 Uncaught SyntaxError: Unexpected token F in JSON at position 1
at JSON.parse (<anonymous>)
at Function.n.parseJSON (jquery.min.js?afver=400:4)
at XMLHttpRequest.TFileAjaxUpload.TFileAjaxUpload.onreadystatechangeHandler (components.min.js?afver=400:1)</anonymous></anonymous>
BJ

Ola pessoal estou com o mesmo problema, local funciona mas publicado só o gif girando. Alguém conseguiu a solução pra isso, este é meu segundo projeto com PHP e comecei já com o Adiante, portanto ainda me sinto um semi-analfabeto, tenho estudado e pesquisado na medida do possível, e com os posts aqui do Forum e o que tem na net tenho me virado nos 30, no entanto neste caso não consegui nada.

Já dei permissão 777 para a pasta tmp e nada, o tamanho dos arquivos são mínimos, já testei até com um txt vazio e nada.

E como o assunto é pertinente pergunto, seria possível compartilhar um vídeo tipo mp4 também?

o projeto foi criado com o Adianti 4.0 / Template 3

Agradeço a atenção.

Cordialmente

Beto.
BJ

corrigindo o erro de ortografia: "com o Adiante, portanto" --> "com o Adianti, portanto".