我想在目录中使用文本文件,以便在Flask中使用make_response,但是我写下的代码却无法解决。
这是我写下的用于使用make_response下载文本文件的代码。
@api.route('/structure_voice_log', methods=['POST'])
def download():
response = make_response("hogehoge")
response.headers["Content-Disposition"] = "attachment; filename=outbound.txt"
response.headers["Content-type"] = "text/plain"
return response
这是我发出的命令。
curl -L -i -H "Content-Type: application/json" http://localhost:17354/structure_voice_log -X POST -d '{"voice_log": "hogehoge"}'
以下是上述命令结束后的结果。
HTTP/1.0 200 OK
Content-type: text/plain
Content-Length: 8
Content-Disposition: attachment; filename=outbound.txt
Access-Control-Allow-Origin: *
Server: Werkzeug/0.15.5 Python/3.7.5
Date: Tue, 12 Nov 2019 16:15:44 GMT
hogehoge%
我得到的只是一个字符串“ hogehoge”,而不是文本文件。 我该怎么做? 使用此框架可能会出错。 如果您能帮助我,我将非常感谢。
答案 0 :(得分:0)
make_response
的第一个参数采用要显示的字符串。
可以改为使用send_file
函数(https://pythonise.com/series/learning-flask/sending-files-with-flask)。
希望有帮助。 最好的问候