我正在尝试在Python3中设置一个简单的HTTPServer来上传文件,而我却受制于编码(我想)。 这是服务器代码:
class RequestHandler(http.server.BaseHTTPRequestHandler):
def do_POST(self):
img_bytes = self.rfile.read(int(self.headers.get('Content-Length')))
# I DON'T KNOW WHAT TO DO HERE
self.send_response_only(200)
self.end_headers()
PORT = 8000
with socketserver.TCPServer(("", PORT), RequestHandler) as httpd:
httpd.serve_forever()
客户端的请求:
requests.post("http://server_ip:port", files={"img": open("img.jpg", "rb")})
或
curl -d "@img.jpg" -X POST server_ip:port
给出相同的结果。
我想存储我在服务器上收到的图像,但是它的类型为“字节”,并且我尝试了几种.decode(...)
方法,但均未成功。这是什么变量?还是一般来说,正确的方法是什么?
注意:我制作了一个版本,其中我encode()
输入的图像数据,使用data
参数传递,并在服务器端decode()
传递。但是,如果要使用一个files
参数似乎很难。
在此先感谢您的帮助或建议