Bug no mozilla firefox pode impedir o upload de arquivos .pdf

Descobri isso depois de perder algumas horas depurando a área de downloads ( Admin > Catalogo > Downloads ) no Opencart 2.0. Quando fazia o upload de um arquivo PDF. Sempre que fazia um upload o Opencart 2.0 retornava a seguinte mensagem de erro:

Este tipo de arquivo não é permitido!

Verifiquei as configurações em: Admin > Configurações > Loja > Servidor >

 33300000 bytes

Extensões de arquivos permitidas:

txt
png
jpe
jpeg
jpg
gif
bmp
ico
tiff
tif
svg
svgz
zip
rar
msi
cab
mp3
qt
mov
pdf
psd
ai
eps
ps
doc
rtf
xls
ppt
odt
ods

:

text/plain
image/png
image/jpeg
image/gif
image/bmp
image/vnd.microsoft.icon
image/tiff
image/svg+xml
application/zip
application/x-rar-compressed
application/x-msdownload
application/vnd.ms-cab-compressed
audio/mpeg
video/quicktime
application/pdf
image/vnd.adobe.photoshop
application/postscript
application/msword
application/rtf
application/vnd.ms-excel
application/vnd.ms-powerpoint
application/vnd.oasis.opendocument.text
application/vnd.oasis.opendocument.spreadsheet

Como pode-se ver acima, estava  tudo ok, então eu parti para a depuração do código, editando o controller /admin/controller/catalog/download.php, adicionando algumas informações como extensão do arquivo e mimetype a mensagem de erro, que estava retornando binary/octet-stream no mimetype.

Depois de algumas googladas depois descobri que o problema não era com o Opencart 2.0, mas sim um bug do navegador Mozilla Firefox. :(

https://bugzilla.mozilla.org/show_bug.cgi?id=953274

Alguns posts tinham sugestões de incluir mimetypes adicionais para fazer que isso funcionasse no Mozilla Firefox, mas por questões de segurança eu prefiri não manter o código como estava e não permitir o upload de arquivos binários como alguns posts sugeriam. Pra mim, bastou trocar de navegador (google chrome) para que tudo voltasse a funcionar normalmente.

Fica aí a dica para quem se deparar com o mesmo problema ao tentar fazer upload de arquivos .pdf no Opencart ou qualquer outra webapp utilizando o Mozilla Firefox.

Como reduzir o tamanho de arquivos PDF no linux

Se lidar com arquivos PDF de alguma maneira faz parte da sua rotina certamente em algum momento você já se perguntou como reduzir o tamanho de arquivos PDF.

A resposta para esta pergunta é simples, se você for usuário de Linux, basta abrir o terminal e digitar o comando abaixo:

gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -sNAME=settings -sOutputFile=output.pdf input.pd

Se você já criou arquivos com imagens no google docs, já deve ter observado que ao fazer o download do arquivo em PDF ele fica costuma ficar muito grande. Esta dica pode ajudá-lo a reduzir o tamanho dos arquivos em até 90% sem perder a qualidade.

Se você é um advogado e tem enfrentado problemas para fazer o upload de seus arquivos para no projudi, aqui está uma boa solução para o seu problema. É possível automatizar isso, criar um pequeno servidor em uma máquina virtual e criar uma rotina que comprima todos os arquivos que forem movidos para uma determinada pasta.

Como alterar o fuso horário em um servidor Linux Debian

Para alterar o fuso horário em um servidor linux Debian, você deve primeiro verificar qual o a configuração atual, você pode fazer isso digitando:

root@server:~# cat /etc/timezone
Etc/UTC

Para configurar o fuso horário, utilizar o comando dpkg-reconfigure tzdata e escolher a zona correcta no menu interactivo:

root@server:~# dpkg-reconfigure tzdata
Menu interativo dpkg-reconfigure tzdata.

Menu interativo dpkg-reconfigure tzdata.

Menu interativo dpkg-reconfigure tzdata.

Menu interativo dpkg-reconfigure tzdata.

A saída deve ser algo parecido com:

Current default time zone: 'America/Sao_Paulo'
Local time is now:      Wed Aug 27 11:29:02 BRT 2014.
Universal Time is now:  Wed Aug 27 14:29:02 UTC 2014.

Data e hora

O comando date mostra a data actual do sistema:

root@server:~# date
Wed Aug 27 11:40:07 BRT 2014

Olá, mundo!

Bem-vindo ao rodrigoslompo.com. Esse domínio existe desde 27 de novembro de 2005, já foi blog, backup, repositório de arquivos, laboratório de testes e ambiente de desenvolvimento. Durante boa parte deste tempo o site esteve meio “out” e eu também. Bem, agora eu estou de volta e o site também.  Então oficialmente a partir de agora eu começo a publicar! Divirta-se!