我不知道为什么我不能使用 Apache24、mod wsgi 和以下 (Python 3.6.5( 代码从 html 输入中保存一个值(字符串(:
# -*- coding: UTF-8 -*-
import os
import sys
sys.path.append(os.path.dirname(__file__))
import urllib.parse
def application(environ, start_response):
script_dir = os.path.dirname(__file__)
f = open(os.path.join(script_dir, 'Wsgi_Apache.html'))
output = f.read().encode('utf-8').strip()
f.close()
try:
request_body_size = int(environ.get('CONTENT_LENGTH', 0))
except (ValueError):
request_body_size = 0
request_body = environ['wsgi.input'].read(request_body_size)
d = urllib.parse.parse_qs(request_body)
#d = urllib.parse.parse_qs(environ['QUERY_STRING'])
download = d.get('download', [''])[0]
file = open(os.path.join(script_dir, 'down.txt'), 'w')
file.write(download)
file.close()
status = '200 OK'
response_headers = [('Content-type', 'text/html;charset=UTF-8'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
和 HTML 代码 (Wsgi_Apache.html(:
<!DOCTYPE html>
<html><body>
<form method="post" action="">
<input id="download" type="hidden" value="eijrgioerjboofphdpiappq" name="download">
</form>
</body>
</html>
已创建一个文件,但没有任何文本。 我想以 base64 的形式发送一个 pdf 的值...也许有更好的方法可以做到这一点?我知道这有点老技术,但我认为这是一个最简单的方法。
我发现urllib.parse.parse_qs(request_body(返回空字典... 我仍在尝试解决这个问题,但无法弄清楚为什么request_body没有价值。