2015-10-27 1 views
0

J'ai un code pour télécharger le fichier pdf comme ci-dessous ainsi:Avisez où le nom du fichier downloded mis

byte[] text = textContent.getText(); 
    InputStream inputStream = new ByteArrayInputStream(text); 
    response.setContentType("application/pdf"); 
    ServletResponseUtil.write(response, inputStream); 

fichier téléchargé avec succès avec un nom, mais je ne peux pas le découvrir sous forme où ce nom vient.

Quelqu'un peut-il me le faire savoir?

+0

Pouvez-vous ajouter le nom du fichier original et le nom du fichier téléchargé? Vous n'avez pas besoin d'être exact, mais au moins "this-File-Name" à "another_File_name"? – brasofilo

+0

Quand j'effectue une action le fichier comme pdf a été chargé avec un nom de famille Ici je ne peux pas comprendre où ce jeu de noms. –

Répondre

2

Vous pouvez spécifier le nom de fichier dans l'en-tête de réponse.

response.setContentType("application/pdf"); 
response.addProperty("Content-Disposition", "attachment; filename=" + myFilename); 

L'hypothèse ici est que la ressource est servie pendant la phase de ressource d'un portlet. Pour la liste complète des options Content-Disposition, voir RFC 6266.

Tant qu'il n'y a pas d'en-tête Content-Disposition, le navigateur dérivera le nom du fichier à partir de l'URL de la demande.

+0

Je voudrais ajouter que [RFC 6266] (https://tools.ietf.org/html/rfc6266) définit d'autres options - comme 'inline' au lieu de' attachment' - qui devraient servir de référence supplémentaire. –

+0

Merci, j'ai inclus le lien RFC 6266 dans la réponse. –

+1

J'ai inclus les informations sur le nom de fichier d'origine, car il s'agissait également d'une question de l'OP. –