[py/cgi] Transfert de fichiers sur le client

jmalsoaz -  
 bozo001456 -
Bonjour,

Je suis nouveau dans la programmation Python et je suis en train de travailler sur une interface web avec des scripts python à lancer du côté server.
J'ai un formulaire avec un bouton "get_file" et j'aimerais que quand je cliques sur ce bouton, ça me lance un script python qui téléchargerait un fichier du server sur le client.

Malheureusement, je ne vois pas trop comment écrire ce script.

- Je peux passer le nom du fichier dans l'url en faisant un form du genre : <form method=post action="get_file.py?filename=xxx">, mais comment récupŕer cette variable dans mon script python ?

- Comment organiser mon script par la suite pour qu'il ouvre une fenêtre "save as" et ainsi télécharger le fichier sur le client ?

Merci d'avance pour votre aide !
A voir également:

2 réponses

bozo001456
 
Pour ce qui est de récupérer le filename, c'est très simple, il suffit de faire :

dans ton script python :

import cgi
form = cgi.FieldStorage( )
filename=form['filename'].value

Pour ce qui est du reste, la fenêtre "save as", je sais pas trop, mais tu peux dire au server de retourner une requête différente de "text", genre : application/octet-stream mais après pour pointer vers le fichier que tu veux, ...
1
bozo001456
 
Peut-être que tu peux regarder du côté des librairies urllib et urllib2 (petit tuto ici : http://www.voidspace.org.uk/python/articles/urllib2_francais.shtml
0
bozo001456
 
ok merci !

J'ai essayé de voir avec urllib et urllib2 mais bon, je suis un peu perdu.

Personne d'autre pour m'apporter la solution ?
0