[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 !
Configuration: Linux
Firefox 3.0.8

2 réponses

  1. 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