FastApi接收不到Apifox发送的from-data字符串_解决方法
接收不到Apifox发送的from-data字符串_解决方法
- 问题描述
- 解决方法
- 弯路总结
- 弯路描述
- 纵观全局
- 小结
问题描述
这里写了一个接口,功能是上传文件,接口参数是file文件和一个id字符串
@gpt_router.post("/uploadfiles")
async def create_upload_files(files: List[UploadFile] = File(...), task_id: str = None): # print('files:',files)print(f"Task ID: {task_id}")return HttpResponse.ok(message="上传成功")
Apifox请求之后,文件可以接收到,但是接收不到id


解决方法
使用 Form 类型来接收 form-data 中的字段,包括字符串。
引入一下From,更改一下参数
from fastapi import Form@gpt_router.post("/uploadfiles")
async def create_upload_files(files: List[UploadFile] = File(...), task_id: str = Form(None)): # print('files:',files)print(f"Task ID: {task_id}")return HttpResponse.ok(message="上传成功")

弯路总结
弯路描述
查看Apifox请求中的请求头的时候,发现content-type的值是application/json,不是传的from-data类型。

于是乎,在请求头中设置Content-type为multipart/form-data,请求之后依然接收不到task_id,同时请求头Header中content-type的值依然是application/json。(奇怪喔)

然后一顿搜索,甚至官方文档也看了,依然不行。


纵观全局
在查看Apifox官方文档的时候了解到,只要请求的时候点选了数据类型,请求的Content-type其实就已经更改了,至于为什么请求完的Header里content-type还是application/json就不得而知了。(知道为什么的大佬可以在评论区讲解一下,提前致谢)

所以到这里只要我点选的是from-data,那么content-type就已经是multipart/form-data了,所以请求没有错,那可能就是后端出现的问题,解决问题的方向错了。
再来看下问题,同样的from-data数据,文件就可以接收到,而字符串不行,那说明两者中,文件是正确的,字符串在哪里出了问题,我们对比下参数部分代码。

提取一下
files: List[UploadFile] = File(...)
task_id: str = None

不难看出是= File(...)和= None默认值的区别,那就是字符串不是这么接收的,或者说应该和File一样的接收格式,那么具体该怎么接收from-data数据呢?
查了一下发现:
在 FastAPI 中,要使用 Form 类型来接收 form-data 中的字段,包括字符串。

心机之蛙一直摸你肚子
原来是接收方式不对,这也怪鄙人python后端不熟练的原因,闹了笑话,见笑了。
知道原因就好办了,引入一下From,更改一下参数
from fastapi import Formtask_id: str = Form(None)
测试


完活收工
小结
解决问题所收获的的不是解决问题本身,而是解决问题的过程以及其中的思路、以及无法用文字描述的东西。
相关文章:
FastApi接收不到Apifox发送的from-data字符串_解决方法
接收不到Apifox发送的from-data字符串_解决方法 问题描述解决方法弯路总结弯路描述纵观全局小结 问题描述 这里写了一个接口,功能是上传文件,接口参数是file文件和一个id字符串 gpt_router.post("/uploadfiles") async def create_upload_fi…...
Python高级数据结构——堆(Heap)
Python中的堆(Heap):高级数据结构解析 堆是一种基于树结构的数据结构,具有高效的插入和删除操作。在本文中,我们将深入讲解Python中的堆,包括堆的基本概念、类型、实现方式、应用场景以及使用代码示例演示…...
linux 讨论题合集(个人复习)
常规文件的权限是什么?如何分配或修改这些权限?文件夹(目录)的权限是什么?显示常规文件和文件夹的区别 讨论:①常规的文件权限有四种,r可读、w可写、x可执行、-没有权限;②可以使用c…...
浅析SD-WAN技术如何加强企业网络安全
在这个数字化时代,企业组网的安全性已经成为许多企业所面临的一个重要挑战。特别是随着云计算、移动办公等新型信息技术的普及,企业网络的规模和复杂度不断增加,网络攻击和数据泄露的威胁也日益增加。因此,企业需要采取更加有效的…...
测试相关-面试高频
测试面试相关 面试 测试的具体场景 功能测试 具体的测试工具Jmeter Postman selenium pytest 怎么看待测试的潜力与挑战 软件测试是正在快速发展,充满挑战的领域。尽管现在许多自动化测试软件的出现使得传统手工测试的方式被代替,但自动化测试工具的…...
基于Java web的多功能游戏大厅系统的开发与实现
摘 要 目前,国内游戏市场上的网络游戏有许多种类,游戏在玩法上也越来越雷同,形式越来越单调。这种游戏性系统给玩家带来的成就感虽然是无穷的,但是也有随之而来的疲惫感,尤其是需要花费大量的时间和精力,这…...
【MySQL工具】my2sql-快速解析binlog
目录 安装 my2sql简介 用途 工具优势 限制 账号所需权限 参数解析 场景 场景1 回滚 场景2 生成正向SQL 场景3 DML与事务统计 场景4 解析本地 与binlog2sql性能对比 安装 安装比较简单 直接下载二进制命令即可使用 wget https://git…...
vueRouter常用属性
vueRouter常用属性 basemodehashhistoryhistory模式下可能会遇到的问题及解决方案 routesprops配置(最佳方案) scrollBehavior base 基本的路由请求的路径 如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 “/app/”,所有的请求都会在url之后加上/app/ new …...
Qt5.15.2的镜像网址
其它版本的qt把相应数字更换即可 已安装的QT怎么更新安装组件。离线版QT安装:已安装的QT怎么更新安装组件。离线版QT安装_哔哩哔哩_bilibili https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt5_5152_wasm/https://mirrors.…...
Python隐藏特性:字符串驻留、常量折叠
下面是Python字符串的一些微妙的特性,绝对会让你大吃一惊。 案例一: a “some_string” id(a) 140420665652016 id(“some” “_” “string”) # 注意两个的id值是相同的. 140420665652016 案例二: a “wtf” b “wtf” a is b True …...
2-Python与设计模式--工厂类相关模式
23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...
PGP 遇上比特币
重复使用 PGP 密钥作为比特币密钥 介绍 在数字安全领域,密码学在确保数据的完整性和真实性方面发挥着至关重要的作用。 一种广泛使用的加密技术是使用 Pretty Good Privacy (PGP1)。 PGP 为安全通信(例如电子邮件、文件传输和数据存储)提供加…...
项目demo —— GPT 聊天机器人
本文介绍我的开源项目 TelegramChatBot,这是一个基于 OpenAI GPT API 开发的 telegram 机器人,具有多模态交互能力,求 star!感谢大家!在 telegram jokerController_bot 立即体验!欢迎对 GPT 应用开发或对 t…...
Airtest进阶使用篇!提高脚本稳定性 + 批量运行脚本!
一、背景 今天彭于晏为大家分享Airtest进阶使用篇,主要包含两块的内容: 提高脚本稳定性批量运行脚本生成测试报告 二、提高脚本稳定性 1、添加全局配置: #全局设置 ST.FIND_TIMEOUT10 #设置隐式等待时长,默认识别图片时间是30秒,可改为…...
数据库系统概述之数据库优化
为什么需要进行优化? 数据库性能瓶颈 数据库服务器的性能受许多因素影响,包括硬件能力、系统规模、业务模型及架构、代码设计、数据库表设计、系统环境等。 因此,可以从几个方面进行数据库优化 喜欢点赞收藏,如有疑问ÿ…...
【error:Custom elements in iteration require ‘v-bind:key‘ directives】元素绑定:key
在vue3中使用v-for操作的时候,报error Custom elements in iteration require v-bind:key directives 当我想自定义绘制echarts图的代码: <el-row><div v-if"data.chartDataList.length > 0"><el-col :span"12&quo…...
TA-Lib学习研究笔记(二)——Overlap Studies下
TA-Lib学习研究笔记(二)——Overlap Studies下 (11)SAR - Parabolic SAR 抛物线指标 函数名:SAR 名称: 抛物线指标 简介:抛物线转向也称停损点转向,是利用抛物线方式,随…...
三.排序与分页
目录 一.排序数据二.分页 一.排序数据 1.排序规则 使用ORDER BY 子句排序 ASC(ascend)升序DESC(descend)降序 ORDER BY 子句在SELECT语句的结尾 2.单列排序 SELECT last_name, job_id, department_id, hire_date FROM e…...
第一个php扩展开发的demo
cd /root/soft/php/php-5.2.6/ext ./ext_skel --extnameheiyeluren cd /root/soft/php/php-5.2.6/ext/heiyeluren vi config.m4 打开文件后去掉 dnl ,获得下面的信息: PHP_ARG_ENABLE(rot13, whether to enable heiyeluren support, [ --enable-heiyelu…...
A stop job is running for Session c1 of user root (25s 1min 30s)问题
写在前面 今天在前端点击重启按钮,突然发现开发板的串口打印信息卡住了,时间比较长的有一处,比较短的有两处,大致为A stop job is running for Session c1 of user root (25s 1min 30s),此处估计是在关机重启的时候&a…...
快速验证本地ai集成:用快马一键生成调用d盘ollama的web应用原型
最近在折腾本地大模型,发现Ollama真是个神器,能轻松管理各种开源模型。但默认安装到C盘后,模型文件越积越多,硬盘直接飘红。于是研究了下如何把Ollama迁移到D盘,顺便用InsCode(快马)平台快速搭了个Web应用原型…...
DRM子系统深度探索:从drm_minor到connector属性文件的完整设备树解析
DRM子系统深度探索:从drm_minor到connector属性文件的完整设备树解析 在嵌入式显示系统开发中,DRM(Direct Rendering Manager)子系统作为Linux内核显示框架的核心,其设备树形结构体系的理解对于调试显示异常至关重要。…...
一篇文章带你了解 HTTP协议 !!!
引言在 Web 开发体系中,HTTP 协议作为前后端数据交互的核心规范,定义了请求与响应的标准格式,是实现浏览器与服务器通信的基础;而 TCP 协议则为 HTTP 提供了可靠的传输保障,确保数据完整有序传输。本文带你了解一下HTT…...
外贸SEO需要结合哪些线上线下营销手段
外贸SEO需要结合哪些线上线下营销手段 在当今全球化的市场环境中,外贸SEO(搜索引擎优化)是提升国际业务的关键。单靠SEO往往不足以实现业务的全面发展。因此,外贸SEO需要结合多种线上线下营销手段,才能实现更高的市场…...
2025届最火的十大降重复率平台推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 维普人工智能检测系统能依靠针对文本予以精细剖析,从而生成特性用以鉴别机器写作…...
如何判断你的Linux系统能否运行displaylink-debian?驱动适配全攻略
如何判断你的Linux系统能否运行displaylink-debian?驱动适配全攻略 【免费下载链接】displaylink-debian DisplayLink driver installer for Debian and Ubuntu based Linux distributions. 项目地址: https://gitcode.com/gh_mirrors/di/displaylink-debian …...
薄膜型声学超材料在汽车NVH中的应用:COMSOL仿真全流程解析
薄膜型声学超材料在汽车NVH优化中的COMSOL仿真实践 汽车NVH(噪声、振动与声振粗糙度)性能直接影响驾乘体验,而传统吸隔声材料在低频段往往表现不佳。薄膜型声学超材料通过局域共振机制打破了质量定律限制,为200-1000Hz频段的噪声…...
YOLO12与LaTeX结合:自动化生成学术论文中的图表标注
YOLO12与LaTeX结合:自动化生成学术论文中的图表标注 1. 引言 写学术论文最让人头疼的事情之一,就是给图表添加标注。每次实验做完,面对几十张甚至上百张图片,手动一个个画框、标注类别、记录坐标,不仅耗时耗力&#…...
5分钟掌握抖音批量下载神器:douyin-downloader完整使用指南
5分钟掌握抖音批量下载神器:douyin-downloader完整使用指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback …...
游戏回放解析工具:突破英雄联盟回放技术瓶颈的全栈解决方案
游戏回放解析工具:突破英雄联盟回放技术瓶颈的全栈解决方案 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 痛点诊断&#x…...
