Pergunta

Eu estou tentando servir arquivos estáticos para download em uma aplicação Django, eu percebi que eu ia colocar os arquivos estáticos em / media / ficheiros e ter Apache definir o cabeçalho do tipo de conteúdo de application / octet-stream (o arquivos para download vão ser arquivos do word, mas eu vou trabalhar os detalhes mais tarde).

Para fazer isso eu ativei mod_headers e, em seguida, na configuração do apache fez isso:

<Location "/media/files">
    Header set Content-Type "application/octet-stream"
</Location>

Depois de fazer isso, eu reiniciado apache e tentou um arquivo de exemplo, mas não trabalho, eu ainda obter text / plain no tipo de conteúdo e o navegador não pede-me para baixar nada.

Pela maneira que eu sei é recomendado o uso de um servidor web diferente para arquivos estáticos, mas eu não tenho muito controle no servidor Vou implantar, tem que ser apenas Apache com mod_python.

Foi útil?

Solução

Pode haver qualquer número de problemas (é preciso muito mais informações do que você forneceu para rastrear alguns problemas de configuração do apache), mas aqui estão alguns pensamentos:

  • Você está absolutamente certo de que este trecho está sendo aplicado para os arquivos de direito (por exemplo, se houver vários servidores virtuais, e você preso presente na pessoa errada, bem ..)
  • Você tem reescrever acontecendo que pode impedir que isto ser visto como um jogo?
  • Você está definindo o cabeçalho Content-Type em outro lugar?
  • Você tem arbitragem conteúdo acontecendo? Dependendo, que poderiam substituir tudo o que fazemos nos cabeçalhos.

Uma coisa que você pode tentar é adicionar algum outro cabeçalho e ver se ele volta. Além disso, tente fazer o pedido se com telnet ou elsewise reduzindo o número de coisas entre você e o servidor. Use os arquivos de log. Eles estão lá para ajudá-lo. Boa sorte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top