Tenho alguns usuários de engenharia que desejam anexar arquivos de dados com extensões de arquivo incomuns às suas postagens. Essencialmente, são arquivos de texto simples, mas incluem caracteres ASCII estendidos.
Tentei atualizar a configuração NGINX do Discourse para especificar tipos de mídia MIME para esses arquivos, mas não funcionou. Postei um tópico (How to customize MIME media type emitted for certain attachments?) sobre isso há duas semanas, mas ainda não recebi respostas. Mesmo que o NGINX não seja atualizado, ele ainda servirá tipos de arquivo desconhecidos usando o tipo MIME de fallback “application/octet-stream”. Posso conviver com isso por enquanto.
No entanto, quando os usuários tentam carregar esses arquivos de dados em uma postagem (usando o botão “Upload” ou arrastando e soltando), eles recebem um pop-up de erro do Discourse como este:
Parece que, quando os usuários carregam arquivos, o Discourse está tentando ser inteligente e detectar se é uma imagem ou algum outro tipo de arquivo. Além disso, parece estar fazendo essa determinação olhando o conteúdo do arquivo (muito parecido com o comando Unix padrão “file”). Presumo que seja para que o Discourse possa decidir se o incorpora ao conteúdo da postagem ou o coloca de lado como um anexo.
No caso desses arquivos de dados, essa verificação está identificando incorretamente os arquivos como imagens. Só por diversão, coloquei alguns desses arquivos de dados em uma caixa Ubuntu e verifiquei-os com o comando “file”, e, com certeza, eles foram identificados como “dados de imagem JPEG”.
Existe alguma maneira de os usuários carregarem arquivos sem que o Discourse tente detectar se são imagens? Ou seja, “Por favor, carregue isso como um anexo, não importa o quê, não o incorpore”?
Alternativamente, eu poderia configurar o Discourse para permitir arquivos zip e dizer aos usuários para compactarem seus arquivos antes de carregá-los, mas eu preferiria não abrir o site para uploads aleatórios de arquivos zip. Isso parece uma questão de segurança.
Obrigado antecipadamente por qualquer ajuda!




