Python FastApi:post文件与数据/本地端测试

FastAPI快速搭建

1 .uvicorn模块用于启动FastAPI,可以自定义端口,方便快速启动,特别适合pycharm启动。

2.@app.post('/file/')自定义定义访问路径。

3.  get_keyword_position() 内是需要输入的参数,包含文件和变量。普通变量建议使用Form(“defaultvalue”)格式,后续本地端容易访问。

4. 需要注释""...""". 内容是解释api怎么用的,网页打开能查看。网址http://127.0.0.1:8082/docs

from fastapi import FastAPI, File, UploadFile, Form# 主要用于加载和提供应用程序的服务器.
import uvicorn as uvicornapp = FastAPI()@app.post('/file/')
async def get_keyword_position(picturePath: UploadFile = File(...),  # UploadFile转为文件对象,可以保存文件到本地targetWord: str = Form("Main"),rectArea: str = Form(""),cv2Threshold:int = Form(88),cv2Type: int = Form(0)
):"""get keyword position info:- **picturePath**: picture use to identify- **targetWord**: keyword in picture- **rectArea**:  select rectangle. format: y1:y2,x1:x2,such as 174:1042, 369:1150- **cv2Threshold**:  二值化阈值,默认88.字体和背景颜色差距不大,就增大。- **cv2Type**:  二值化操作,默认1. 0:背景白色。 1:背景是深色"""# 保存前端上传的文件至本地服务器# 1 读取上传到的文件contents = await picturePath.read()# 2 打开新文件# 第一个参数 文件存储路径+文件名称,存储路径目录需要提前创建好,如果没有指定,则默认会保存在本文件的同级目录下# 第二个参数 wb,表示以二进制格式打开文件,用于只写with open("./file/" + picturePath.filename, "wb") as f:# 3 将获取的fileb文件内容,写入到新文件中f.write(contents)#........
return ({'file_name': picturePath.filename,'notes': targetWord,        'file_content_type': picturePath.content_type})if __name__ == '__main__':uvicorn.run(app=app, host="127.0.0.1", port=8082)

网页查看:

本地端测试发送

更多参数自己定义。

import requestsurl = "http://127.0.0.1:8082/file/"
files= {'picturePath': open('D:\project\ocr\v2.png', 'rb')}
param={'targetWord':'Main','rectArea':'174:1042, 369:1150'}
res = requests.post(url, files=files,data=param)
print(res)

参考:

https://blog.csdn.net/lilygg/article/details/114927483

https://fastapi.tiangolo.com/zh/tutorial/request-forms-and-files/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

德国巴伐利亚山谷积雪遍地 汽车被大雪掩埋

当地时间1月24日,德古南部巴伐利亚一座村庄里,小汽车被大雪掩埋,只露出一角窗户。当地时间2019年1月24日,德国加尔米施-帕滕基兴,积雪遍地。图为一名滑雪者在雪道上滑雪。当地时间2019年1月24日,德国加尔米…

macbook图形化编程_如何判断MacBook使用的是哪种图形芯片(并进行切换)

macbook图形化编程Apple’s top end MacBook Pros come with two graphics chips: an integrated Intel Iris Pro chip and a discrete graphics card with more power. That way, you can use the integrated chip when you need better battery life, and the more powerful …

跨集群流量调度实现 Kubernetes 集群金丝雀升级

有了多集群服务和跨集群的流量调度之后,使用 Kubernetes 的方式会发生很大的变化。流量的管理不再限制单一集群内,而是横向跨越了多个集群。最重要的是这一切“静悄悄地”发生,对应用来说毫无感知。就拿 Kubernetes 版本升级来说吧。记得曾经…

usr/bin/expect方式免密码登录和发送文件脚本

2019独角兽企业重金招聘Python工程师标准>>> ssh 登录 #!/usr/bin/expect set timeout 20 if { [llength $argv] < 3} { puts "Usage:" puts "remote_host password cmd" exit 1 } set remote_host [lindex $argv 0] set passwor…

8-[多线程] 进程池线程池

1、为甚需要进程池&#xff0c;线程池 介绍官网&#xff1a;https://docs.python.org/dev/library/concurrent.futures.htmlconcurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor&#xff1a;线程池&#xff0c;提供异步调用 ProcessPoolExecutor: 进程池&a…

香港连续25年被评为全球最自由经济体

中新社香港1月25日电 美国智库传统基金会25日在华盛顿发表2019年《经济自由度指数》报告&#xff0c;香港今年再次成为唯一一个总分超过90分的经济体&#xff0c;已连续25年被评价为全球最自由经济体。 报告显示&#xff0c;香港今年的总分为90.2分&#xff08;100分为满分&…

mac 下安装jenkins

2019独角兽企业重金招聘Python工程师标准>>> 平台搭建 Jenkins安装和启动 官网&#xff1a;https://jenkins.io/index.html 下载&#xff1a;http://mirrors.jenkins-ci.org/war/latest/jenkins.war 安装&#xff1a; 依赖于Java环境&#xff0c;首先安装和配置Java…

safari 获取视频流_如何在Safari中将RSS feed和社交媒体合并为一个流

safari 获取视频流Safari allows you to subscribe to RSS feeds and add your social media accounts so you can view them right in the browser, in one universal feed, without the need of any add-on applications or extensions. Safari允许您订阅RSS feed并添加您的社…

编译安装Centos7.2+Apache2.4.25+PHP7.2.10+Mysql5.6.16

一、编译部署Apache2.4.251、环境准备#设置或停止防火墙&#xff1a; [rootlocalhost ~]# systemctl stop firewalld.service [rootlocalhost ~]# systemctl disable firewalld.service#关闭selinux&#xff1a; 临时关闭&#xff1a; [rootlocalhost ~]# setenforce 0永久关闭…

国际知名计算机视觉和机器学习软件开源平台OpenCV正式支持龙架构

前言介绍近期&#xff0c;OpenCV开源社区正式合入了对龙架构&#xff08;LoongArch™&#xff09;支持的代码&#xff0c;基于龙架构自主指令系统&#xff0c;优化后的OpenCV性能显著提升。OpenCV是一款跨平台的计算机视觉和机器学习软件平台&#xff0c;在计算机视觉领域广泛使…

优化器--牛顿法总结

---这里记录下一些关于牛顿法来作为优化器的个人笔记 &#xff1a;&#xff09; 关于牛顿法&#xff0c;先不说其中的概念&#xff0c;来简单看一个例子&#xff1f; 不用计算器&#xff0c;如何手动开一个值的平方根&#xff0c;比如计算{sqrt(a) | a4 } &#xff1f; 不用程序…

在命令提示符输出c语言代码_您可以在Windows命令提示符中更改输出缓冲区的大小吗?...

在命令提示符输出c语言代码If you are someone who loves using the Windows Command Prompt, you may have found yourself curious as to why the screen output buffer has such a ‘large’ default size. Can you change it to a smaller (or even larger) size? Today’…

django23:BS4/kindeditor上传图片

BS4 Beautiful Soup&#xff0c;Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式。 安装 pip3 install beautifulsoup4 使用 from bs4 import BeautifulSoup#html_doc为网页内容 soup Be…

mac 防止 下载 睡眠_如何暂时防止Mac进入睡眠状态

mac 防止 下载 睡眠Let’s say you start a big download, then go to bed. When you wake up, you realize your Mac went to sleep before finishing its job. Isn’t there some way to stop this? 假设您开始进行大量下载&#xff0c;然后上床睡觉。 当您醒来时&#xff0…

mac共享单个磁盘_如何与您的所有设备共享酒店的单个Wi-Fi连接

mac共享单个磁盘Many hotels still limit you to one or two Wi-Fi devices per room–a frustrating limitation, especially when traveling with someone else. Connection restrictions can apply anywhere you have to log into a Wi-Fi network via a portal instead of …

Python FastApi:快速建立docker容器/挂载共享文件夹/导入导出

一、目的 a.快速把原有fastapi代码部署到docker&#xff0c;让docker在server运行。 b.不涉及docker深入设置。 c.使用python第三方lib少或简单。 二、步骤 ps:请提前安装docker 1.新建Dockerfile&#xff0c;放入到项目根目录 a.Dockerfile没有后缀. b.准备好requireme…

PHP-FPM 与 Nginx 的通信机制总结

PHP-FPM 介绍 CGI 协议与 FastCGI 协议 每种动态语言&#xff08; PHP,Python 等&#xff09;的代码文件需要通过对应的解析器才能被服务器识别&#xff0c;而 CGI 协议就是用来使解释器与服务器可以互相通信。PHP 文件在服务器上的解析需要用到 PHP 解释器&#xff0c;再加上对…

Android——监听事件总结

各种监听事件 1.按钮 Button&#xff08;1&#xff09;点击监听btn_1.setOnClickListener(new View.OnClickListener() { &#xff08;2&#xff09;长按监听btn_1.setOnLongClickListener(new View.OnLongClickListener() { 2.单选框 RadioGroupradio_gp.setOnCheckedChangeLi…

ChatGPT 大智近妖,从宇宙人生到手搓光刻机,从哄女朋友到写年终总结我们聊得非常开心,反而让人越来越忧心...

都说 ChatGPT 要干掉程序员&#xff0c;清理搜索引擎&#xff0c;取代Stack Overflow&#xff0c;还能消灭人类&#xff0c;这些有些言过其实了。ChatGPT 的定位是一个人工智能助理&#xff0c;它说&#xff0c;它的主要目的是通过回答用户的问题&#xff0c;为用户提供帮助。在…