Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

Besoin d'aide programme python cgi


Sujet :

Réseau/Web Python

  1. #1
    Candidat au Club
    Besoin d'aide programme python cgi
    Bonjour,

    Je programme actuellement un site internet sur lequel on peut upload une image, malheureusement je n'arrive pas à faire marcher les fichiers que l'on trouve sur internet.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/usr/bin/env python3
     
    import http.server
     
    PORT = 9999
    server_address = ("", PORT)
     
    server = http.server.HTTPServer
    handler = http.server.CGIHTTPRequestHandler
    print("Serveur actif sur le port :", PORT)
     
    httpd = server(server_address, handler)
    httpd.serve_forever()

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #!/usr/bin/env python
    import cgi, os
    import cgitb; cgitb.enable()
     
    try: # Windows needs stdio set for binary mode.
        import msvcrt
        msvcrt.setmode (0, os.O_BINARY) # stdin  = 0
        msvcrt.setmode (1, os.O_BINARY) # stdout = 1
    except ImportError:
        pass
     
    form = cgi.FieldStorage()
     
    # A nested FieldStorage instance holds the file
    fileitem = form['file']
     
    # Test if the file was uploaded
    if fileitem.filename:
     
        # strip leading path from file name
        # to avoid directory traversal attacks
        fn = os.path.basename(fileitem.filename)
        open('C:\Users\Augustin\Desktop\ISN' + fn, 'wb').write(fileitem.file.read())
        message = 'The file "' + fn + '" was uploaded successfully'
     
    else:
        message = 'No file was uploaded'
     
    print """\
    Content-Type: text/html\n
    <html><body>
    <p>%s</p>
    </body></html>
    """ % (message,)

    Code HTML :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                   <form enctype = "multipart/form-data"
                         action = "C:\Users\Augustin\Desktop\ISN\cgi-bin\save_file.py" method = "post">
                   <p>File: <input type = "file" accept="image/*" name = "file" /></p>
                   <p><input type = "submit" value = "Upload" /></p>
                   </form>

    Pourriez-vous m'aider ?

    Merci.

  2. #2
    Membre régulier
    Citation Envoyé par Augustincyl Voir le message
    Bonjour,

    Je programme actuellement un site internet sur lequel on peut upload une image, malheureusement je n'arrive pas a faire marcher les fichier que l'on trouve sur internet.
    Bonjour,
    Ta question part de trop loin. On peut la comprendre comme : "comment coder un site internet ?".
    De plus l'exemple donné est curieux et semble parfois assez loin du problème énoncé...
    Bref, tu n'as de chance d'obtenir de réponse que si tu postes une question précise.
    Donne nous le message d'erreur, déjà pour commencer, ou décris ce qui ne fonctionne pas.
    J'ajouterais que les modules cgi ne sont pas l'idéal, ni pour commencer, ni pour continuer. À peu près tous les autres modules sont plus pertinents.
    Par exemple, cherrypi est assez simple pour un début :
    https://cherrypy.org/
    Quant à msvcrt, à moins d'avoir une raison incontournable, je te conseille de laisser tomber.