Файл изображения, загруженный на сервер, поврежден / формат не поддерживается;Python, CGI и HTML - PullRequest
0 голосов
/ 14 июня 2019

У меня есть код для загрузки файла изображения из системы пользователя, но на стороне сервера загруженное изображение не отображается, и когда я пытаюсь открыть его вручную, он говорит, что формат файла не поддерживается Вот HTML-код

  <html>
<head>
    <title>DICON Employee Form</title>
</head>

<body>
<form enctype = "multipart/form-data" method = "post" action = "http://localhost/cgi-bin/DICON_FORM.py">
<p>File: <input type = "file" name = "filename" /></p>
<input type = "submit" value = "Upload" />
</form>

</body>
</html>

Вот скрипт cgi-python

#!c:\Python27\python.exe

import cgi
import cgitb
import os
import MySQLdb

cgitb.enable()
form = cgi.FieldStorage()

if not form.has_key("EmployeeID"):
    print "Location: /DICON_FORM.html\n"
else:
    print """Content-type: text/html

    <head><title>FORM</title></head>
    <body>"""

    employeeID = form["EmployeeID"].value
    firstName = form["FirstName"].value
    lastName = form["LastName"].value
    others = form["Others"].value

    fileitem = form["filename"]
    fn = ""

    if fileitem.filename:
        fn = os.path.basename(fileitem.filename)
        open(fn, 'wb').write(fileitem.file.read()) 
    print "</body></html>"

1 Ответ

0 голосов
/ 16 июня 2019

Решение состоит в том, чтобы изменить первую строку в скрипте Python на #! c: \ Python27 \ python.exe - u Это откроет компилятор в двоичном режиме, и тогда образы могут быть записаны правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...