gpt4 book ai didi

python - swagger flask restplus,上传一个文件,一起取json输入

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:45 24 4
gpt4 key购买 nike

我正在尝试上传一个文件,并使用 Swagger UI 从用户那里获取 json 格式的输入。我已经为此编写了以下代码。

upload_parser = api.parser()
upload_parser.add_argument('file', location='files',
type=FileStorage, required=True)

type = api.model("tax", {
"tax_form": fields.String()})

@api.route('/extraction')
@api.expect(upload_parser)
class extraction(Resource):
@api.expect(type)
def post(self):

tax_form= api.payload # json input string
print(tax_form['tax_form'])
args = upload_parser.parse_args() # upload a file
uploaded_file = args['file']
output = func_extract(uploaded_file,tax_form['tax_form'])
return output, 201

当我单独运行上面的代码时,例如,如果我只上传一个文件或只接受用户的输入,代码可以工作,但如果我一起做。 tax_from 返回 None 值,它不会将我通过 Swagger UI 输入的内容作为 json 值。

最佳答案

我的问题已经解决了。使用 reqparse 来输入参数。请看下面的代码片段

upload_parser = api.parser()
upload_parser.add_argument('file', location='files',
type=FileStorage, required=True)

parser = reqparse.RequestParser()
parser.add_argument('tax_form', required = True)

@api.route('/extraction')
@api.expect(upload_parser)

class extraction(Resource):
@api.expect(parser)

def post(self):
"""
extract the content
"""
args1 = parser.parse_args()
tax_form = args1['tax_form']
print(tax_form)
args = upload_parser.parse_args()
uploaded_file = args['file']
output = func_extract(uploaded_file,tax_form)
return output, 201

关于python - swagger flask restplus,上传一个文件,一起取json输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53283195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com