Page 1 sur 1

Web - Obliger le téléchargement de fichiers

MessagePublié: 10 Déc 2009 à 12:48
par az
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.

MessagePublié: 10 Déc 2009 à 14:17
par az
J'oubliai,
l'url d'ouverture est du type: http://serveur/base/0/id_document/$FILE ... ichier.csv
Merci.

MessagePublié: 14 Déc 2009 à 11:53
par Damien Serve
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...

MessagePublié: 14 Déc 2009 à 17:27
par az
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.

MessagePublié: 14 Déc 2009 à 17:58
par Damien Serve
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é.