2010-09-12 6 views
1

J'utilise CGIHTTPServer pour implémenter un serveur cgi simple. J'essaye de télécharger un fichier par un formulaire avec la méthode post et le multipart/form-data enctype mais j'ai des problèmes quand je récupère la valeur des champs dans le script cgi. Lorsque le script attrape les champs du formulaire, la valeur du fichier est un MiniFieldStorage avec deux champs seulement (clé et nom de fichier), et je ne peux pas récupérer le contenu du fichier. Comme le montre le document API, ce contenu se trouve dans le champ valeur d'un StorageField, mais dans le champ MiniFieldStorage ce champ n'existe pas.Je ne peux pas télécharger un fichier avec CGIHTTPServer

¿Comment puis-je récupérer un StorageField avec le contenu du fichier à la place d'un MiniStorageField? ¿Il existe une autre méthode pour télécharger un fichier en utilisant CGIHTTPServer?

Merci beaucoup

Répondre

1

Veuillez fournir un exemple de code. Deviner à partir du texte, vous devriez regarder dans le cgi module. Suivez les exemples, en particulier la fonction cgi.test().

cgi - Support Common Gateway Interface

module de support pour les scripts Common Gateway Interface (CGI).

Ce module définit un certain nombre d'utilitaires à utiliser par les scripts CGI écrits en Python.

Citant le FieldStorage description (en utilisant le module cgi):

Pour obtenir à des données de formulaire soumis, il est préférable d'utiliser la classe FieldStorage. Les autres classes définies dans ce module sont fournies principalement pour des raisons de compatibilité descendante. Instanciez-le exactement une fois, sans arguments. Ceci permet de lire le contenu du formulaire à partir de l'entrée standard ou de l'environnement (en fonction de la valeur de diverses variables d'environnement définies conformément à la norme CGI). Comme il peut consommer une entrée standard, il ne doit être instancié qu'une seule fois.

Questions connexes