<p>pdf.js depende de urls para conter a extensão 'pdf'</p>

Criado em 12 fev. 2014  ·  13Comentários  ·  Fonte: mozilla/pdf.js

Quando o servidor não fornece o cabeçalho Content-Disposition, o pdf.js depende de urls para conter a extensão 'pdf'. Mas os URLs são localizadores, não nomes.
Passos para reproduzir:

mv web/compressed.tracemonkey-pldi-09.pdf web/compressed.tracemonkey-pldi-09
sed -i 's/compressed.tracemonkey-pldi-09.pdf/compressed.tracemonkey-pldi-09/g' web/viewer.js
firefox web/viewer.html

Agora clique em download. Será oferecido a você um arquivo 'document.pdf'. O nome deve ser algo mais significativo.
O bug também acontece quando deixo de fora a extensão pdf no meu servidor web apache.

Solução proposta:
Use o título do pdf. (como este código viewer.js ). O título também é usado pelo firefox para a funcionalidade Arquivo -> "salvar página como" ao exibir uma página HTML como http://en.wikipedia.org/wiki/Internet_media_type .

Nem todas as páginas da web em html terminam em .html. Em vez disso, pela extensão, o tipo de um documento é especificado por seu tipo MIME.
No entanto, a maioria dos arquivos pdf tem a extensão pdf, e a maioria dos pdfs online também tem um nome de armazenamento no url.
Não sei se o novo método de recuperação deve substituir a recuperação de url ou ser um fallback para ela.

Veja também # 3455.

1-core 5-good-beginner-bug

Todos 13 comentários

@timvandermeij

alguma atualização disso? Está aberto há mais de dois anos. Como meu parâmetro de arquivo é uma chamada de servidor que envia um arquivo pdf de volta, o visualizador de pdf não consegue detectar o nome do arquivo porque parece estar procurando por uma extensão .pdf e, portanto, estou preso em "document.pdf "durante o download e" untitled.pdf "na barra da janela durante a visualização.

Seria útil se também pudéssemos especificar um "título" no URI, bem como o "arquivo", como ... / pdf-viewer / viewer.html? File = "..." & title = "... "

Eu sei que atualmente o trabalho está sendo feito no # 7554 para oferecer suporte ao cabeçalho Content-Disposition , que é uma maneira de resolver esse problema. Eu concordo, entretanto, que document.pdf não é o melhor nome possível e podemos precisar melhorar a função para obter o nome (do arquivo). Patches para isso são bem-vindos, então estou rotulando isso como um bom bug para iniciantes, pois não deve ser muito difícil de implementar.

@timvandermeij Excelente, obrigado, acredito que apoiar Content-Disposition resolveria meu problema.

Eu concordo, conforme eu estava examinando o código, percebi que não deveria ser muito difícil simplesmente adicionar outro parâmetro de URL para o nome do arquivo. Vou tentar nos próximos dias, obrigado.

Patches para isso são bem-vindos, então estou rotulando isso como um bom bug para iniciantes, pois não deve ser muito difícil de implementar.

@timvandermeij Lembre-se de que no PR # 4956, propositadamente deixamos de permitir que vários parâmetros hash afetassem o visualizador (a menos que a depuração esteja ativada, consulte https://github.com/mozilla/pdf.js/wiki/Debugging-pdf.js) .
Portanto, não acho que devemos tornar possível especificar title usando um parâmetro hash!

Especialmente considerando que seria fora do padrão (no contexto de http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf) e comparado com Content-Disposition abordagem em PR # 7554, realmente não agrega muito valor.

Desculpe, eu deveria ter sido mais claro. Eu quis dizer que os patches são bem-vindos para melhorar a função que determina o nome do arquivo a partir do URL. Acho que podemos fazer melhor lá, em vez de depender apenas da extensão do arquivo. Concordo que não devemos adicionar mais parâmetros de hash.

Qual é a situação desse problema? Ainda está aberto?

Qual é a situação desse problema? Ainda está aberto?

@anirudhrb ainda aberto, houve uma tentativa de implementar isso em # 7554, gostaria de contribuir para isso?

@yurydelendik Sim, gostaria de contribuir. O que é esperado em um PR para este problema?

@anirudhrb , você pode apenas tomar o PR acima como base, já que ele tem remoting de dados certo - esperaríamos um pequeno patch com testes de unidade. Não precisamos de análise de Disposição de Conteúdo de especificação, mas o suficiente para obter o nome do arquivo.

@yurydelendik Comecei a trabalhar nisso. Esta é minha primeira tentativa de contribuir para um projeto de código aberto. Vou precisar de algum tempo para me familiarizar com a base de código. :)

@yurydelendik , @timvandermeij Posso abordar esse problema se estiver tudo bem para todos vocês?

Há uma solicitação pull acima que parece ser a direção certa, mas não houve mais atividade para ela. Se você está interessado em consertar isso, parece bom. Vou perguntar se o autor original ainda está planejando trabalhar nisso.

Corrigido em # 9379.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

sujit-baniya picture sujit-baniya  ·  3Comentários

BrennanDuffey picture BrennanDuffey  ·  3Comentários

anggikolo11 picture anggikolo11  ·  3Comentários

jigskpatel picture jigskpatel  ·  3Comentários

AlexP3 picture AlexP3  ·  3Comentários