Bonjour,
J'ai un petit soucis concernant un service de file download : l'url à appeler est du style :
http://<url>/fileDownload.svc?<params>
Sous Firefox, je n'ai aucun soucis. Cliquer sur l'url m'affiche bien mon fichier (un pdf) tout en me permettant de revenir à ma page pour d'autres activités. Sous IE7 par contre, quand le pdf s'ouvre, IE7 croit que c'est une nouvelle page html, et change ma page courante pour une page blanche (dont l'url est celle ci-dessus) avant de m'ouvrir mon PDF. Je suis donc obligé de faire un back pour revoir ma page. Comment faire pour éviter cela?
Mon service de download est en Tapestry. Je suppose que ce n'est pas un problème lié à ce framework, mais plutôt un soucis du genre mime-type. A toute fin utile, je vous donne le code du service :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public void service(IRequestCycle cycle) throws IOException { try { File file = getFile(cycle); WebResponse response = cycle.getInfrastructure().getResponse(); response.setHeader("Content-disposition","inline; filename=" + file.getName()); response.setHeader("Content-Transfer-Encoding", "binary"); response.setHeader("Cache-Control", "no-cache, must-revalidate"); response.setHeader("Pragma", "no-cache"); response.setContentLength(new Long(file.getSize()).intValue()); OutputStream os = response.getOutputStream(new ContentType("application/download")); FileData data = file.getFileDatas().iterator().next(); os.write(data.getData()); } catch (Exception e) { e.printStackTrace(); } }
Partager