Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Comportamento de arquivo ao usar enableFileHandling Olá, pessoal. Estou trabalhando com o upload de arquivos no Adianti e estou me deparando com alguns problemas ao utilizar a função enableFileHandling. Após ativar a função no meu TFile, quando tento acessar o nome do arquivo a ser enviado ele é alterado. Por exemplo, ao upar um arquivo .pdf e depois ao tentar acessar seu nome, eu encontro a string "%7B%22newFile%22%3A%22tmp%2Fteste.pdf%2...
JM
Comportamento de arquivo ao usar enableFileHandling  
Olá, pessoal.

Estou trabalhando com o upload de arquivos no Adianti e estou me deparando com alguns problemas ao utilizar a função enableFileHandling. Após ativar a função no meu TFile, quando tento acessar o nome do arquivo a ser enviado ele é alterado. Por exemplo, ao upar um arquivo .pdf e depois ao tentar acessar seu nome, eu encontro a string "%7B%22newFile%22%3A%22tmp%2Fteste.pdf%22%2C%22fileName%22%3A%22tmp%2Fteste.pdf%22%7D". Gostaria de acessar o nome exato do arquivo para poder copiá-lo da pasta tmp para outro diretório. Alguém já enfrentou problema parecido?

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 (3)


NR

A ideia da função enableFileHandling é ser utilizada em conjunto com a função saveFile da trait AdiantiFileSaveTrait. Desse modo o Adianti faz todos os controles necessários para o correto upload e gravação no banco de dados.

Se quiser controlar o upload manualmente não chame a enableFileHandling ou faça o decode do valor retornado:
  1. <?php
  2. $dados_file json_decode(urldecode($data->campo_arquivo));
  3. ?>
JM

Deu certo. Muito obrigado!
JM

Olá pessoal,

também me deparei com esse problema, então quero compartilhar com vocês a minha solução. No método onSave fiz assim.

  1. <?php 
  2.     if (!empty($data->nome_arquivo)) {
  3.                 $data->nome_arquivo substr((json_decode(urldecode($data->nome_arquivo))->fileName), 4); // aqui foi a solução
  4.                 $extension pathinfo($data->nome_arquivoPATHINFO_EXTENSION);
  5.                 $target_folder 'app/images/produto';
  6.                 $target_file $target_folder '/' hash('md5'$data->nome_arquivo) . "." substr($extension03);
  7.                 @mkdir($target_folder);
  8.                 rename('tmp/' $data->nome_arquivo$target_file);
  9.                 $data->nome_arquivo $target_file;
  10.             }
  11. ?>