我正试图将一个纯文本文件作为Flask请求传入。我注意到,如果我做
f = flask.request.data
我得到一个字节数组/一个格式怪异的字符串。我试过
f = flask.request.data.decode("utf-8")
并得到错误
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)
在尝试将f写入新的文本文件时。
我想用输入文本文件模仿方法"readlines((",但不知道怎么做。
您可以尝试将字符串当作json来传递,然后使用flask.request.json将其取回。
这是一个示例代码:
后端
from flask import Flask, jsonify, request
import json
app = Flask(__name__)
string = '123'
@app.route('/', methods=['GET'])
def test():
return jsonify(string)
@app.route('/', methods=['PUT'])
def test_put():
global string
string = request.get_json()
return 'OK'
if __name__ == '__main__':
app.run()
这里是与服务器交互的请求
import requests
r = requests.get('http://127.0.0.1:5000/')
r.json()
Out[1]: '123'
requests.put('http://127.0.0.1:5000/', json='456')
Out[2]: <Response [200]>
r = requests.get('http://127.0.0.1:5000/')
r.json()
Out[3]: '456'
尝试这个而不是请求。数据:
request.get_data()