Отправка файла (картинки) на сервер CGI Python и загрузка этой картинки на странице

Необходимо по заданию с помощью CGI загрузить файл на сервер. Делаю это так, всё работает. Также нужно на странице после загрузки отобразить загруженную картинку. С этим как раз проблема. Подскажите, как можно это сделать?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Задание №2</title>
</head>
<body>
 
    <form action="/cgi-bin/form2.py" method="POST" enctype="multipart/form-data">
        <p>Выберите файл: <input required type="file" name="filename" /></p>
        <p><input type="submit" value="Загрузить" /></p>
    </form>
    
</body>
</html>

Код на питоне:

import cgi, os
import cgitb; cgitb.enable() 
form = cgi.FieldStorage() 
# Get filename here. 
fileitem = form['filename'] 
# 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) 
    f = open(fn, 'wb')
    f.write(fileitem.file.read()) 
    message = 'The file "' + fn + '" was uploaded successfully' 
else: 
    message = 'No file was uploaded' 
 
print("Content-type: text/html\n")
print("""<!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="cp1251">
        <title>Загрузка файла</title>
    </head>
    <body>
        <p>%s</p>
    </body>
    </html>    
     """ % (message,))

Подскажите, пожалуйста, что надо сделать. Сижу уже над этим долго.


Ответы (0 шт):