Lançado Adianti Framework 7.6!
Clique aqui para saber mais
TMultiFile não carrega extensão "jpeg" Fala galera eu aqui novamente. Em uma tela que estou desenvolvendo seguindo o exemplo CARDS do tutor, me deparei com a seguinte situação. As imagens no formato JPEG não são carregadas na galery. O processo de salvar ocorre normalmente, os arquivos são salvos no caminho informado e etc.. porém quando se clica pra editar as imagens não são carregas. para o campo, foi habil...
F
TMultiFile não carrega extensão "jpeg"  
Fala galera eu aqui novamente.

Em uma tela que estou desenvolvendo seguindo o exemplo CARDS do tutor, me deparei com a seguinte situação. As imagens no formato JPEG não são carregadas na galery. O processo de salvar ocorre normalmente, os arquivos são salvos no caminho informado e etc.. porém quando se clica pra editar as imagens não são carregas.
para o campo, foi habilitado as seguintes extensões:
$imagem->setAllowedExtensions( ['gif', 'png', 'jpg', 'jpeg'] );

Preciso muito disso pois as fotos do WhatsApp são salvas no formato JPEG e para o acesso mobile, esta seria a extensão enviada para o formulário. Em testes realizados com as demais extensões configuradas todas funcionaram, só a JPEG não funciona.

Mais alguém passando por isso ou ja passou?
Conto com o apoio e antecipadamente agradeço.

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (6)


NR

No arquivo download.php há um array com as extensões consideradas. Adicione "jpeg".
F

Boa tarde Nataniel,
Primeiramente obrigado por responder.
Abri o arquivo em questão, e vi que a linha JPG recebe
image/jpeg
.. ainda assim dupliquei a linha colocando abaixo da JPG o seguinte trecho de codigo...
$content_type_list['jpeg'] = 'image/jpeg';
porem ainda assim o problema persiste. Tentei limpando o cache do navegador e acessando com uma guia anonima, o problema continua.

Abaixo deixo o codigo do arquivo download.php pra que possa analisar e se possível pontuar onde e o que to fazendo de errado.
Antecipadamente agradeço!

  1. <?php
  2. require_once 'init.php';
  3. new TSession;
  4. if (isset($_GET['file']) AND TSession::getValue('logged') )
  5. {
  6.     $file      $_GET['file'];
  7.     $info      pathinfo($file);
  8.     $extension $info['extension'];
  9.     
  10.     $content_type_list = array();
  11.     $content_type_list['txt']  = 'text/plain';
  12.     $content_type_list['html'] = 'text/html';
  13.     $content_type_list['csv']  = 'text/csv';
  14.     $content_type_list['pdf']  = 'application/pdf';
  15.     $content_type_list['rtf']  = 'application/rtf';
  16.     $content_type_list['doc']  = 'application/msword';
  17.     $content_type_list['docx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
  18.     $content_type_list['xls']  = 'application/vnd.ms-excel';
  19.     $content_type_list['xlsx'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
  20.     $content_type_list['ppt']  = 'application/vnd.ms-powerpoint';
  21.     $content_type_list['pptx'] = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';
  22.     $content_type_list['odt']  = 'application/vnd.oasis.opendocument.text';
  23.     $content_type_list['ods']  = 'application/vnd.oasis.opendocument.spreadsheet';
  24.     $content_type_list['jpg']  = 'image/jpeg';
  25.     $content_type_list['jpeg'] = 'image/jpeg';
  26.     $content_type_list['png']  = 'image/png';
  27.     $content_type_list['gif']  = 'image/gif';
  28.     $content_type_list['svg']  = 'image/svg+xml';
  29.     $content_type_list['xml']  = 'application/xml';
  30.     $content_type_list['zip']  = 'application/zip';
  31.     $content_type_list['rar']  = 'application/x-rar-compressed';
  32.     $content_type_list['bz']   = 'application/x-bzip';
  33.     $content_type_list['bz2']  = 'application/x-bzip2';
  34.     $content_type_list['tar']  = 'application/x-tar';
  35.     
  36.     if (file_exists($file) AND in_array(strtolower($extension), array_keys($content_type_list)))
  37.     {
  38.         $basename basename($file);
  39.         $filesize filesize($file); // get the filesize
  40.         
  41.         header("Pragma: public");
  42.         header("Expires: 0"); // set expiration time
  43.         header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  44.         header("Content-type: " $content_type_list[strtolower($extension)] );
  45.         header("Content-Length: {$filesize}");
  46.         header("Content-disposition: inline; filename=\"{$basename}\"");
  47.         header("Content-Transfer-Encoding: binary");
  48.         
  49.         // a readfile da problemas no internet explorer
  50.         // melhor jogar direto o conteudo do arquivo na tela
  51.         echo file_get_contents($file);
  52.     }
  53. }
  54. </code>
F

Boa tarde Nataniel,
Primeiramente obrigado por responder.
Abri o arquivo em questão, e vi que a linha JPG recebe
image/jpeg
.. ainda assim dupliquei a linha colocando abaixo da JPG o seguinte trecho de codigo...
$content_type_list['jpeg'] = 'image/jpeg';
porem ainda assim o problema persiste. Tentei limpando o cache do navegador e acessando com uma guia anonima, o problema continua.

Abaixo deixo o codigo do arquivo download.php pra que possa analisar e se possível pontuar onde e o que to fazendo de errado.
Antecipadamente agradeço!

  1. <?php
  2. require_once 'init.php';
  3. new TSession;
  4. if (isset($_GET['file']) AND TSession::getValue('logged') )
  5. {
  6.     $file      $_GET['file'];
  7.     $info      pathinfo($file);
  8.     $extension $info['extension'];
  9.     
  10.     $content_type_list = array();
  11.     $content_type_list['txt']  = 'text/plain';
  12.     $content_type_list['html'] = 'text/html';
  13.     $content_type_list['csv']  = 'text/csv';
  14.     $content_type_list['pdf']  = 'application/pdf';
  15.     $content_type_list['rtf']  = 'application/rtf';
  16.     $content_type_list['doc']  = 'application/msword';
  17.     $content_type_list['docx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
  18.     $content_type_list['xls']  = 'application/vnd.ms-excel';
  19.     $content_type_list['xlsx'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
  20.     $content_type_list['ppt']  = 'application/vnd.ms-powerpoint';
  21.     $content_type_list['pptx'] = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';
  22.     $content_type_list['odt']  = 'application/vnd.oasis.opendocument.text';
  23.     $content_type_list['ods']  = 'application/vnd.oasis.opendocument.spreadsheet';
  24.     $content_type_list['jpg']  = 'image/jpeg';
  25.     $content_type_list['jpeg'] = 'image/jpeg';
  26.     $content_type_list['png']  = 'image/png';
  27.     $content_type_list['gif']  = 'image/gif';
  28.     $content_type_list['svg']  = 'image/svg+xml';
  29.     $content_type_list['xml']  = 'application/xml';
  30.     $content_type_list['zip']  = 'application/zip';
  31.     $content_type_list['rar']  = 'application/x-rar-compressed';
  32.     $content_type_list['bz']   = 'application/x-bzip';
  33.     $content_type_list['bz2']  = 'application/x-bzip2';
  34.     $content_type_list['tar']  = 'application/x-tar';
  35.     
  36.     if (file_exists($file) AND in_array(strtolower($extension), array_keys($content_type_list)))
  37.     {
  38.         $basename basename($file);
  39.         $filesize filesize($file); // get the filesize
  40.         
  41.         header("Pragma: public");
  42.         header("Expires: 0"); // set expiration time
  43.         header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  44.         header("Content-type: " $content_type_list[strtolower($extension)] );
  45.         header("Content-Length: {$filesize}");
  46.         header("Content-disposition: inline; filename=\"{$basename}\"");
  47.         header("Content-Transfer-Encoding: binary");
  48.         
  49.         // a readfile da problemas no internet explorer
  50.         // melhor jogar direto o conteudo do arquivo na tela
  51.         echo file_get_contents($file);
  52.     }
  53. }
  54. </code>
NR

Pelo que vi tem algumas restrições também no javascript. Acredito que seja mais fácil tratar isso na entrada dos arquivos, fazendo a substituição de "jpeg" para "jpg".
F

Entendo e agradeço o apoio, mas a substituição da extensão por um usuário(leigo) não vai rolar.. é justamente o que eu preciso evitar, ja que eles poderão usar as imagens baixadas do whatsapp web pra subir pro sistema em questão. E dependendo da quantidade de imagens, fica enviável.

Estas restrições no js, tem como contornar?
NR

A substituição seria feita internamente pelo sistema e não pelos usuários. Veja a classe AdiantiUploaderService.