Отправка файла (картинки) на сервер 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,))
Подскажите, пожалуйста, что надо сделать. Сижу уже над этим долго.