Web - Obliger le téléchargement de fichiers

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Web - Obliger le téléchargement de fichiers

Messagepar az » 10 Déc 2009 à 12:48

Bonjour,
En web comment obliger l'utilisateur à télécharger le fichier au lieu de l'ouvrir dans le navigateur?
Il s'agit d'un fichier csv rattaché dans un document Notes.

Merci.
az
Posteur néophyte
Posteur néophyte
 
Message(s) : 75
Inscrit(e) le : 13 Juin 2006 à 22:27

Messagepar az » 10 Déc 2009 à 14:17

J'oubliai,
l'url d'ouverture est du type: http://serveur/base/0/id_document/$FILE ... ichier.csv
Merci.
az
Posteur néophyte
Posteur néophyte
 
Message(s) : 75
Inscrit(e) le : 13 Juin 2006 à 22:27

Messagepar Damien Serve » 14 Déc 2009 à 11:53

Bonjour,
J'ai résolu la question en définissant une en-tête de réponse HTTP spécifique, dans le carnet d'adresse du serveur.

J'ai défini les champs suivants :
Content-Type : application/force-download
Content-Disposition : attachment

Ça marchera à condition de pouvoir définir un 'pattern' acceptable.
Dans mon cas je gère les fichiers attachés dans une base séparée, j'ai utilisé un pattern basé sur le nom de la base : */files.nsf/0/*.*
Tu pourrais utiliser quelque-chose du genre *.csv mais ca affecterait tous les fichiers csv de ton site web, à voir si ça te convient ou pas...
Damien Serve
Premier posts
Premier posts
 
Message(s) : 30
Inscrit(e) le : 08 Jan 2008 à 12:40
Localisation : Grenoble

Messagepar az » 14 Déc 2009 à 17:27

Bonjour et merci de ta réponse,
Je voudrais modifier ces 2 champs dans le carnet d'adresses du serveur mais je ne trouve pas où.
Tu peux m'expliquer comment définir une pattern?
Est-ce obligatoire?
Merci encore.
az
Posteur néophyte
Posteur néophyte
 
Message(s) : 75
Inscrit(e) le : 13 Juin 2006 à 22:27

Messagepar Damien Serve » 14 Déc 2009 à 17:58

Pas de problème :

- Dans le carnet d'adresse du serveur, vas dans 'Configuration / Web / Internet Sites'. Identifies le document de site qui s'applique à ton application web, ouvre-le et utilises le bouton 'Web Site... / Create rule'.

- Dans le nouveau document de règle, choisit le type 'HTTP response headers' (en-têtes de réponses HTTP en français)

- Saisi une description, laisse les codes de réponse par défaut (200,206) et sélectionne 'Toujours ajouter les en-têtes'.

- choisi un 'modèle d'URL entrant' (pas sûr de ma traduction là, c'est 'Incoming URL pattern'), genre */mabase.nsf/*.csv - à tester

- puis dans les en-têtes spécifiques, saisi les paires clé-valeur

clé1 :
nom : Content-Type
Valeur : application/force-download

clé2 :
nom : Content-Disposition
valeur : attachment

et coche l'option 'override' sur les 2.

Pour tester directement n'oublies pas de faire un 'tell http refresh' sur la console serveur pour que la tâche http prenne les modifs en compte, sans avoir à attendre 3 plombes ;-)

Si quelqu'un a une autre méthode je suis intéressé.
Damien Serve
Premier posts
Premier posts
 
Message(s) : 30
Inscrit(e) le : 08 Jan 2008 à 12:40
Localisation : Grenoble


Retour vers Développement

cron