社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何通过python请求库将Starlette FormData数据结构发送到FastAPI端点

Kaiwen Looi • 3 年前 • 1461 次点击  

我的系统架构当前将一个表单数据blob从前端发送到后端,这两个表单数据blob都托管在不同端口的localhost上。表单数据通过FastAPI库在后端接收,如图所示。

@app.post('/avatar/request')
async def get_avatar_request(request: Request, Authorize: AuthJWT = Depends()):
    form = await request.form()
    return run_function_in_jwt_wrapper(get_avatar_output, form, Authorize, False)

目前,我正在尝试使用请求库将未修改的表单数据从后端转发到另一个FASTApi端点,如下所示:

response = requests.post(models_config["avatar_api"], data = form_data, headers = {"response-type": "blob"})

虽然目标端点确实接收表单数据,但它似乎没有正确解析UploadFile组件。我没有得到相应的Starlete UploadFile数据结构,而是收到了类名的字符串,如下面的错误消息所示:

FormData([('avatarFile', '<starlette.datastructures.UploadFile object at 0x7f8d25468550>'), ('avatarFileType', 'jpeg'), ('background', 'From Image'), ('voice', 'en-US-Wavenet-B'), ('transcriptKind', 'text'), ('translateToLanguage', 'No translation'), ('transcriptText', 'do')])

我该如何处理这个问题?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130500
 
1461 次点击  
文章 [ 1 ]  |  最新文章 3 年前