Flask读取上传的json文件

时间:2016-04-06 04:17:27

标签: json flask

我正在通过烧瓶上传一个json文件,但是我实际上在阅读文件中的内容时遇到了麻烦。

# named fJson b/c of other json imports
from flask import json as fJson
@app.route('/upload', methods=['GET', 'POST'])
def upload():
if request.method == 'POST':
    file = request.files['file']
    # data = fJson.load(file)
    # myfile = file.read()

我正试图通过使用'file'变量来解决这个问题。我查看了http://flask.pocoo.org/docs/0.10/api/#flask.json.load,但是我收到错误“没有JSON对象可以被解码”。我还查看了建议使用file.read()的Read file data without saving it in Flask,但是没有用,返回“None”或“”。

2 个答案:

答案 0 :(得分:1)

  

<强> Request.files

     

一个MultiDict,其中文件作为POST或PUT请求的一部分上传。每个文件都存储为FileStorage对象。它基本上就像你从Python中知道的标准文件对象,不同之处在于它还有一个save()函数,可以将文件存储在文件系统中。   http://flask.pocoo.org/docs/0.10/api/#flask.Request.files

你不需要使用json,只需使用read(),就像这样:

if request.method == 'POST':
    file = request.files['file']        
    myfile = file.read()

答案 1 :(得分:0)

由于某种原因,文件中的位置在最后。做

file.seek(0)

在执行读取或加载之前修复了问题。