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

server/2024/9/24 20:05:43/

准备工作:

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/server/25218.html

相关文章

Ubuntu16.04搭建webrtc服务器

本人查阅无数资料,历时3周搭建成功 一、服务器组成 AppRTC 房间+Web服务器 https://github.com/webrtc/apprtcCollider 信令服务器,在AppRTC源码里CoTurn coturn打洞+中继服务器 Nginx 服务器,用于Web访问代理和Websocket代理。AppRTC 房间+Web服务器使用python+js语言 App…

uniapp视频播放器(h5+app)

关于uniapp视频播放器遇到的一些问题,mark下。 中途遇到了很多问题,如果有相同的伙伴遇到了类似的,欢迎交流 官方的video播放器在app上不友好,有以下功能不支持。 loadedmetadata、controlstoggle不支持导致只能手写控制层。 不…

thinkphp 各层简介介绍

Controller层负责和视图打交道,Logic层负责处理逻辑,沟通Controller和Model,Model层负责和数据库打交道,Service层负责封装公共服务 controller 工作:接受请求数据,与业务侧logic打交道获取结果数据返回vie…

Meta的AI潮流:创新还是用户体验的噩梦?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

vue3 html5-qrcode 实现扫描二维码 仿照wx扫码样式

直接上代码&#xff1a;npm i html5-qrcode <van-button class"scanButton" click"stop" type"success">结束扫码</van-button><van-search v-model"searchName" show-action label"" placeholder"请输…

PostCss 概述

PostCSS 是一个用于处理和转换 CSS&#xff08;层叠样式表&#xff09;代码的强大工具。它利用 JavaScript 编写的插件系统来实现对原始 CSS 文本的解析、分析、优化及再生成&#xff0c;从而为开发者提供了广泛的定制化功能和自动化工作流。以下是 PostCSS 的核心概念与主要特…

Frida基础

Frida介绍 官 网 对 Frida 的 介 绍 是 “Frida 是 平 台 原 生 App 的 Greasemonkey” &#xff0c;专业一点就是一种动态插桩工具&#xff0c;可以插入一些 代码到原生App的内存空间去动态地监视和修改其行为&#xff0c;这些原生平 台可以是Windows、Mac、Linux、Android或…

SSRF漏洞是什么,如何进行有效防护

SSRF全称&#xff1a;Server-Side Request Forgery&#xff0c;即&#xff0c;服务器端请求伪造。是一个由攻击者构造请求&#xff0c;在目标服务端执行的一个安全漏洞。攻击者可以利用该漏洞使服务器端向攻击者构造的任意域发出请求&#xff0c;目标通常是从外网无法访问的内部…