recherche

Maison  >  Questions et réponses  >  le corps du texte

[Problème avec le téléchargement de fichiers Python] Lors du téléchargement de fichiers selon les didacticiels en ligne, 500 erreurs continuent d'apparaître.

Suivez le tutoriel sur Internet et utilisez Python pour écrire des CGI afin de télécharger des fichiers, mais 500 continue d'apparaître.

fichier html :

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>文件上传</title>
</head>
<body>
    <form enctype="multipart/form-data" action="save_file.py" method="post">
        <p>
            选中文件: <input type="file" name="filename" />
        </p>
        <p>
            <input type="submit" value="上传"/>
        </p>
    </form>
</body>
</html>

Fichier .py

#!/usr/bin/python
# -*- coding:utf-8 -*-

import cgi, os
import cgitb; cgitb.enable()

# 获取文件名
f = cgi.FiledStorage().getvalue('filename')

# 检测文件是否上传
if f is not  None:
    # 设置文件路径
    fn = os.path.basename(f.filename.replace("","/"))
    open('/tmp/' + fn,'wb').write(f.file.read())

    message = '文件 "' + fn + '" 上传成功'

else:
    message = "文件没有上传"

print """
    Content-Type:text/html
    <html>
        <head>
            <meta charset="utf-8">
            <title>文件上传</title>
        </head>
        <body>
            <p> %s </p>
        </body>
    </html>
""" % (message,)

Message d'erreur :

[Thu May 11 10:24:46.697197 2017] [http:error] [pid 8254] [client 127.0.0.1:58072] AH02429: Response header name '<!--' contains invalid characters, aborting request, referer: http://studycgi/file/file.html

127.0.0.1 - - [11/May/2017:10:24:41 +0800] "POST /file/save_file.py HTTP/1.1" 500 4063
大家讲道理大家讲道理2747 Il y a quelques jours934

répondre à tous(2)je répondrai

  • 黄舟

    黄舟2017-05-18 10:51:26

    Vous ne trouvez pas que l'URL dans votre message d'erreur semble bizarre ? Ouvrez-la dans votre navigateur et jetez-y un œil.

    Ça ne devrait pas être Studycgi.com

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-18 10:51:26

    Le message d'erreur n'est-il pas relativement clair : le nom de l'en-tête de réponse '<!--' contient des caractères non valides

    répondre
    0
  • Annulerrépondre