我的flask应用程序中有一条这样开始的路线:
@app.route('/invocations', methods=['POST'])
def predict():
"""
Do an inference on a single batch of data.
"""
if flask.request.content_type == 'text/csv':
X_train = flask.request.data.decode('utf-8')
X_train = pd.read_csv(StringIO(X_train), header=None).values
为了测试这个路径,我从一个包含多行的格式化文件POST向服务器发送一个请求: .csvcurl -X "POST" -H "Content-Type: text/csv" -d @health-check-data.csv http://localhost:5000/invocations
然而,令我惊讶的是,当我执行时X_train = flask.request.data.decode('utf-8'),我将连接的内容csv变成了一个删除换行符的字符串。
为什么flask(或curl?)这样做,我该如何解决这种行为?