利用Python开发一个上传文件的服务

news/2024/11/9 16:43:16/

准备工作:

1、安装uvicorn,利用其来作为web服务器

2、安装Starlette,利用其来作为web开发框架

3、安装python-multipart,让其支持form表达形式的文件上传

4、postman:文件上传的发起者,这样我们就不用写前端界面了

代码:

python">import uvicorn
from starlette.applications import Starlette
from starlette.responses import JSONResponse
from starlette.datastructures import UploadFile
from starlette.routing import Route
import asyncioasync def semanticTextualDeduplication(request):lineSize = 0try:form: UploadFile = await request.form()file = form["file"]contents = await file.read()content_str = contents.decode('utf-8')lines = content_str.splitlines()lineSize = len(lines)for line in lines:print(line.strip())except Exception as e:# 处理其他异常print("发生了异常:", e)return JSONResponse({"lineSize": lineSize})app = Starlette(routes=[Route("/api/semanticTextualDeduplication.do", semanticTextualDeduplication, methods=["POST"]),],
)@app.on_event("startup")
async def startup_event():q = asyncio.Queue()app.model_queue = qif __name__ == "__main__":uvicorn.run("message_receive:app", host="0.0.0.0", port=8080, access_log=False)

测试:

1、打开postman:

1.1、注意第一个文件参数,需要在输入key以后选择 key的类型为file

2、结果:


http://www.ppmy.cn/news/1445205.html

相关文章

AntDesignReact提示key重复解决方案

在使用antd树形组件的时候,有时候会存在挂载相同的账号,相同账号的id是重复的,组件直接就不能用了,所以查找论坛,发现可以使用这个插件解决; 下载 npm install uuid项目中使用 // 导入 import { v4 as uu…

opencv_23_高斯模糊

void ColorInvert::gaussian_blur(Mat& image) { Mat dst; GaussianBlur(image, dst, Size(0, 0), 15); // Size(2, 2), imshow("图像模糊2", dst); }

QT:小项目:登录界面 (下一个连接数据库)

一、效果图 登录后&#xff1a; 二、项目工程结构 三、登录界面UI设计 四主界面 四、源码设计 login.h #ifndef LOGIN_H #define LOGIN_H#include <QDialog>namespace Ui { class login; }class login : public QDialog {Q_OBJECTpublic:explicit login(QWidge…

vue.config.js自定义插件和自定义vue-cli-service命令

自己做记录 自定义插件 define2.js class TestDefine{constructor(){// this.name test;}apply(compiler) {console.log("进入")compiler.hooks.environment.tap(pluginName, (compilation) > {process.UNI_SCRIPT_DEFINE{"WOBUGUAN":true,"WO…

mac 安装 python3

1、安装 brew install python2、配置 环境变量 打开 sudo vi ~/.bash_profile 添加 export PATH"/opt/homebrew/bin:$PATH"重载 source ~/.bash_profile ✗ source ~/.zshrc # 按需3、验证 方式 1 ls -l /opt/homebrew/bin/python3 方式 2 echo…

Facebook’s Tectonic Filesystem: Efficiency from Exascale——论文阅读

FAST 2021 Paper 分布式元数据论文阅读笔记整理 背景 Blob storage 用来存放大量的文本、图片、视频等非结构化数据 包含 EB 级别的数据 存储内容大小不一&#xff0c;大小几KB到几MB不等 要求低时延 使用 Haystack 和 F4 Data warehouse 存放用于数据分析和机器学习的…

本地Windows主机,使用pycharm通过wsl的ubuntu来创建django项目

Windows主机在pycharm中通过wsl的ubuntu来创建django项目 需求&#xff1a;在windows主机中创建python项目再转接到linux服务器中运行&#xff0c;有点麻烦。【特别是存放日志文件或其他文件路径时需要修改为linux中的路径】 1&#xff1a;我的是windows主机 2&#xff1a;有…

90天玩转Python—19—Python面向对象编程:类与对象的详细介绍和实例

90天玩转Python系列文章目录 90天玩转Python—01—基础知识篇:C站最全Python标准库总结 90天玩转Python--02--基础知识篇:初识Python与PyCharm 90天玩转Python—03—基础知识篇:Python和PyCharm(语言特点、学习方法、工具安装) 90天玩转Python—04—基础知识篇:Pytho…