[py/cgi] Transfert de fichiers sur le client
jmalsoaz
-
bozo001456 -
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 !
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:
- [py/cgi] Transfert de fichiers sur le client
- Cybera client - Télécharger - Divers Réseau & Wi-Fi
- Filezilla client - Télécharger - Téléchargement & Transfert
- Transfert gros fichiers - Guide
- Renommer des fichiers en masse - Guide
- Formate pour taxer client 500€ - Forum PDF
2 réponses
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, ...
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, ...
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