[gitec] Content-Type incorreto para arquivos armazenados no SAPL

Adriano Rafael Gomes adriano-gomes em camaranh.rs.gov.br
Quinta Fevereiro 27 16:22:27 BRT 2014


On Tue, Feb 25, 2014 at 06:12:58PM -0300, Adriano Rafael Gomes wrote:
> O SAPL (ou o ZOPE), de alguma forma que desconheço, identifica o
> Content-Type quando fazemos o upload de um arquivo.

Descobri que é o navegador web quem determina o Content-Type, e não o
SAPL/ZOPE.

No upload, o navegador web envia o arquivo juntamente com o
Content-Type. O SAPL/ZOPE apenas armazena o arquivo e o Content-Type
informados pelo navegador.

Acontece que o navegador estava informando o Content-Type errado!

Para fazer o navegador informar o Content-Type correto, recriei a base
de dados de Content-Types. No navegador Iceweasel (fork do Firefox),
isso é feito fechando o navegador e removendo o arquivo mimeTypes.rdf
do perfil do usuário. Ao abrir o navegador, o arquivo é recriado num
estado que funciona bem.

Mas como o mimeTypes.rdf fica com informações erradas?

Quando fazemos o download de um arquivo cujo Content-Type não está
registrado no mimeTypes.rdf, o navegador pergunta o que fazer (abrir
com determinado programa, salvar em disco, etc) e grava a associação do
tipo de arquivo, extensão, programa e Content-Type no mimeTypes.rdf.

O navegador aprende, e usa tais informações novamente quando faz outro
download. Só que ele aproveita essas informações também para o upload,
e uma associação feita de forma errada no momento do download causará
erros no upload!

Agora terei que manter os navegadores dos usuários com o mimeTypes.rdf
configurado corretamente. Também terei que consertar os Content-Types
armazenados incorretamente no SAPL, preferencialmente de forma
automatizada.

Sugestões são bem-vindas.

-- 
Adriano Rafael Gomes
Analista de Suporte
Câmara Municipal de Novo Hamburgo


Mais detalhes sobre a lista de discussão GITEC