Bonjour j'aimerais forcer un download en utilisant le code PHP suivant mais avec Java.

Est-ce que quelqu'un peut me dire comment faire ceci en java.

J'utilise VWP de Netbeans.

Merci.


Il existe des types de fichiers qui sont normalement interprétés par le navigateur comme étant spécifiques à une application. La dite application va s'exécuter et ouvrir le fichier.
On souhaite ne pas ouvrir cette application et forcer l'enregistrement du fichier sur le disque du client. Pour forcer l'apparition de la boîte de dialogue "Enregistrer...", il faut envoyer les entêtes HTTP adéquats au navigateur. ;

http://php.developpez.com/faq/?page=..._forcedownload

Code php : 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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
//
// Constantes de configuration
//
define('CFG_SYSTEM_FILENAME', 'fichier.ext');
define('CFG_SEND_FILENAME', CFG_SYSTEM_FILENAME);
 
//
// Constantes à ne pas modifier
//
define('CFG_FILESIZE', filesize(CFG_SYSTEM_FILENAME));
define('CFG_FILE_MD5', md5_file(CFG_SYSTEM_FILENAME));
define('CFG_DATE_FORMAT', 'D, d M Y H:i:s');
 
//
// Quelques éléments nécessaires
//
error_reporting(0);
ini_set('zlib.output_compression', 0);
 
 
/*
 *Début de l'envoi
 */
//
// Gestion du cache
//
header('Pragma: public');
header('Last-Modified: '.gmdate(CFG_DATE_FORMAT).' GMT');
header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
 
//
// Informations sur le contenu à envoyer
//
header('Content-Tranfer-Encoding: none');
header('Content-Length: '.CFG_FILESIZE);
header('Content-MD5: '.base64_encode(CFG_FILE_MD5));
header('Content-Type: application/octetstream; name="'.CFG_SEND_FILENAME.'"');
header('Content-Disposition: attachement; filename="'.CFG_SEND_FILENAME.'"');
 
//
// Informations sur la réponse HTTP elle-même
//
header('Date: '.gmdate(CFG_DATE_FORMAT, time()).' GMT');
header('Expires: '.gmdate(CFG_DATE_FORMAT, time()+1).' GMT');
header('Last-Modified: '.gmdate(CFG_DATE_FORMAT, time()).' GMT');
?>