Olá, hoje vou falar sobre um problema técnico que enfrentei recentemente no meu trabalho.
Tenho sempre estudado outras tecnologias, para abrir um pouco o leque de opções e aprender um pouco mais sobre o que existe no mercado, tais como: Ruby, Python, Objective-C.
Voltando ao foco do post, atualmente trabalho mais focado em ASP.NET, onde estou trabalhando em um mesmo sistema há 8 anos, ou seja, ele já está um monstro de grande.
Em uma das novas telas dos novos módulos surgiu a necessidade de fazer um upload de arquivos em um dos processos. Durante os testes os usuários estavam anexando arquivos com a extensão .MSG, que é uma cópia do e-mail do Outlook. Com isso, ao clicar em um botão para abrir o arquivo anexado ao processo aparecia a tela abaixo, indicando que o arquivo não foi encontrado:
Quando o site está configurado no IIS 6.0:
Quando o site está configurado no IIS 7.0 ou superior:
Mensagem: HTTP Error 404.3 - Not Found
The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map
Agora depois de testar localmente vi que para o IIS 7.0 ele mostra uma mensagem mais amigável, falando que falta o MIME, mas no dia eu não tinha visto pelo IIS 7.0 e sim pelo IIS 6.0.
Então pesquisando e tentando, resolvi colocar no IIS o MIME Type para a extensão .MSG que é application/vnd.ms-outlook.
Para configurar o MIME Type basta fazer o seguinte:
No IIS 6.0:
- Abra o IIS e clique com o botão direito sobre Web Sites e vá em Properties.
- Na tela de propriedades, vá até a guia HTTP Headers e clique no botão MIME Types....
- Na tela de MIME Types, clique em New e informe a extensão .MSG e coloque o MIME Type application/vnd.ms-outlook.
No IIS 7.0 ou superior:
- Abra o IIS, clique no nome do servidor que fica ao lado esquerdo e depois no ícone MIME Types
- Na tela de de MIME Types, clique em Add.. e informe a extensão .MSG e o MIME Type application/vnd.ms-outlook
- Pronto! Feito isso ao voltar no sistema e clicar no link para download do arquivo, aparece corretamente a caixa de dialogo.
A mesma ideia server para outros tipos de arquivos. Caso seu servidor WEB não tenha o MIME Type configurado, basta incluir o mesmo.
Neste link você pode encontrar ver vários MIME Types, mas pesquisando na internet existem vários sites.
Espero que a dica seja útil, pois gastei um tempo considerável para resolver o problema.
(oo) Alexsandro F. de Araujo
Opa! Boa dica Alex. Essa é uma daquelas que o cara perde horas e horas procurando algo.
ResponderExcluirBom Dia Alex, Tranquilo? Ótima dica, ralei muito com isso também, porem eu estou com um problema e gostaria de saber se poderia me ajudar?
ResponderExcluirquando add o tipo mime, ele fica com a propriedade local, e do nada ele perde essa configuração, tendo que refazela novamente, você tem alguma dica para que eu consiga resolver isso!?
Obrigado.! Hugo Henrique