Tenho uma página onde o usuário do site listará PDFs e o mesmo poderá “Visualizar” ou fazer o “Download”.
A visualização está ok, basta linkar como se fosse uma página normal …
Porém, para o download a coisa está feia.
Estou usando o seguint código.
Até consigo baixar o arquivo, porém ao salvar o arquivo e abrí-lo, ele diz qu o arquivo tem 0kb, e aparece a seguinte mensagem “… não a suporte a esse tipo de arquivo, ou ele foi danificado …”
Como nada dava certo, apenas para testar, utilizei um servlet (" http://www.servletsuite.com/servlets/forcedownload.htm ") só para “ver tudo funcionando”, mas não funcionou. Acontece a mesma coisa. Aém do mais, não posso utilizar este saída, pois o usuário tem que ter a opção “Visualizar”. E no caso, mesmo que funcionasse, estaria forçando sempre o download dos PDFs.
Em relação ao código acima, já tentei também alterar “application/pdf” para “application/oct-stream” e acontece o mesmo problema.
[quote=mynameisflaw][quote=blnrj]
Em relação ao código acima, já tentei também alterar “application/pdf” para “application/oct-stream” e acontece o mesmo problema.
[/quote]
Mas preciso um pouco mais da sua ajuda. Como utilizar seu código? Eu sou apenas um assistente de aprendiz…[/quote]
Olá blnrj…
Bem, não gosto de dar coisas muito mastigadas não, mas a ideia é a seguinte:
Ao invez de chamar um JSP para realizar o download, chame um servlet.
Pelo que eu vi o arquivo para download e o caminho físico dele no disco. Não faça assim. Ante de invocar o servlet, crie um File do arquivo que você quer realizar o download e o transforme em um array de bytes e o coloque no request.
No servlet, pegue o array de bytes e passe para o método que te passei.