Cabeçalho HTTP quebrado? Os navegadores não ' não abrem nosso pdf, mas abrem todos os outros pdfs [fechado]
On Novembro 30, 2020 by adminComentários
- Você pode querer adicionar os cabeçalhos enviados. Isso é apenas adivinhação. Além disso, ele pertence a stackoverflow.com, não aqui 🙂
- Se ' não estou migrando para StackOverflow, parece apropriado aqui. Não é ' necessariamente uma pergunta de codificação, mas certamente é uma pergunta do webmaster.
- Acho que você não ' é necessário converter em seu inputStream para charset = UTF-8 " para PDF
- I ' m de votação para fechar esta questão como fora do tópico porque foi devido à configuração incorreta do servidor.
- Isso parece estar fora do tópico porque requer que adivinhe o que pode estar errado. Não há ' nada tangível para trabalharmos.
Resposta
Veja Como forçar a abertura de arquivos no navegador em vez de download (pdf)? , que tem uma resposta de ColinM que informa exatamente quais cabeçalhos devem ser:
Para indicar ao navegador que o arquivo deve ser visualizado no navegador :
Content-Type: application/pdf Content-Disposition: inline; filename="filename.pdf"
Para que o arquivo seja baixado em vez de visualizado:
Content-Type: application/pdf Content-Disposition: attachment; filename="filename.pdf"
EDITAR: As aspas em torno do nome do arquivo são necessárias se o nome do arquivo contiver caracteres especiais, como
filename[1].pdf
, o que pode prejudicar a capacidade do navegador “de lidar com a resposta.
Comentários
- Obrigado por esta bela resposta. No entanto, tenho que aceitar minha própria resposta mais especial, porque essa resolveu meu problema.
Responda r
A solução era bastante especial.
O servidor tinha o tipo MIME padrão application/octet-stream
para Arquivos PDF. Depois de mudar isso para application/pdf
tudo funcionou bem.
Na configuração lighttpd, consegui a mudança adicionando esta definição:
mimetype.assign += ( ".pdf" => "application/pdf" )
Deixe uma resposta