【发布时间】:2021-11-17 08:06:31
【问题描述】:
晚安!
我尝试了一些关于这个问题的谷歌搜索,但我没有找到任何能帮助我的东西,所以我在这里玩游戏。问题是:我想将图像加载到我的 HTTP 服务器,但它不能按预期工作。我的代码是:
from http.server import BaseHTTPRequestHandler, HTTPServer
from PIL import Image
im = Image.open(r"calculator.png")
class RequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
# processamento
if self.path in ("/", "Aula12_HTML.html", "/Aula12_2_HTML.html", im):
# linha de resposta
self.send_response(200, "OK")
# linhas de cabeçalhos
self.send_header("Content-Type", "text/html; charset=utf-8")
# linha em branco
self.end_headers()
if self.path == "/":
self.path = "/Aula12_HTML.html"
f = open(self.path[1:])
# Resposta do Servidor
self.wfile.write(f.read().encode())
else:
self.send_response(404, "NOT FOUND")
我的 HTML 代码之一就是这个简单的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> Bossbattle </title>
</head>
<body>
<h1> A Calculadora </h1>
<img src="calculator.png" alt= ">:C" title="U SHAL PERISH"/>
<p> Olá, seja bem-vi... <b> Você não é bem vindo nessa página!! >:C </b> </p>
<form action="calcular" method="POST">
Nível da habílidade [numb]: <input type="text" name="n1" value="" /> <br>
Força da habilidade [numb]: <input type="text" name="n2" value="" /> <br>
Resisten a habilidade [+-*/]: <input type="text" name="n3" value="" /> <br>
<input type="submit" name="Enviar" value="Atacar" />
</form>
</body>
</html>
【问题讨论】:
-
im是一个 PIL Image 对象。它不是 URL 字符串。您需要添加要查找的 URL。此外,如果您确实收到了对图像的请求,则需要将Content-Type设置为image/png,而不是text/html,并且您不想对其进行编码。您需要将其作为二进制文件读取。这里根本不需要 PIL。 -
你帮了我很多关于这个小费的伙伴,我会把这个命名为答案!在 3 分钟内,代码正在运行。谢谢o/