FastAPI搭建文件上传服务器

2023-05-16

本文共435个字,预计阅读时间需要2分钟。
FastAPI 是一个高性能 Web 框架,也是一个Python包,用于构建 API,适合利用极少的代码搭建服务器后端,实现前后端分离。
在这里插入图片描述

下面给出了一个任务:利用FastAPI搭建文件上传服务器,给出上传接口,并保存到服务器指定位置。

需要使用的Python包:fastapi和uvicorn。

服务器代码

其中with open(file.filename, “wb”)是将客户上传的文件保存起来,上传的url地址为host:port/file_upload,可以自定义端口和host。

注意如果在前端配置的时候出现跨域问题需要添加FastAPI跨域规则。

import time
import uvicorn
from fastapi import FastAPI, File, UploadFile

app = FastAPI()


@app.post("/file_upload")
async def file_upload(file: UploadFile = File(...)):
    start = time.time()
    try:
        res = await file.read()
        with open(file.filename, "wb") as f:
            f.write(res)
        return {"message": "success", 'time': time.time() - start, 'filename': file.filename}
    except Exception as e:
        return {"message": str(e), 'time': time.time() - start, 'filename': file.filename}


if __name__ == '__main__':
    uvicorn.run(app=app, host="127.0.0.1", port=8000, workers=1)

客户端代码示例

此客户端的需要上传的文件在path中,url即为文件上传的API。

import requests
url = "http://127.0.0.1:8000/file_upload"
path = "C:\\Users\\omegaxyz\\Desktop\\pic.jpeg"
files = {'file': open(path, 'rb')}
r = requests.post(url, files=files)
print(r.url)
print(r.text)

更多内容访问 omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2020 • OmegaXYZ-版权所有 转载请注明出处

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FastAPI搭建文件上传服务器 的相关文章

随机推荐

  • Mac下终端pip与pip3配置(软链接)

    缘起 今日Mac上的Python环境绝对是个asshole 系统自带一个Python2 7我官网下载一个3 6homebrew悄悄下了个3 xanaconda自带了一个3 x前天更新了一下Xcode命令行工具 xff0c 竟然给我偷偷下了个
  • 推荐系统摘要

    作为一个推荐系统的门外汉 xff0c 或者说是用户 xff0c 我觉得推荐系统有以下几个特性 推荐系统的真实目的并不是做到让用户满意 xff0c 而是提高销售能力 xff0c 业务水平和收益 一个好的推荐系统并不是推荐用户最喜爱 想要的东西
  • 数据分析岗位面试必备

    业务逻辑 数据分析遵循一定的流程 xff0c 不仅可以保证数据分析每一个阶段的工作内容有章可循 xff0c 而且还可以让分析最终的结果更加准确 xff0c 更加有说服力 一般情况下 xff0c 数据分析分为以下几个步骤 xff1a 业务理解
  • 基于LDA的文本主题聚类Python实现

    LDA简介 LDA xff08 Latent Dirichlet Allocation xff09 是一种文档主题生成模型 xff0c 也称为一个三层贝叶斯概率模型 xff0c 包含词 主题和文档三层结构 所谓生成模型 xff0c 就是说
  • Neo4j-import导入CSV的数据

    本文共1215个字 xff0c 预计阅读时间需要4分钟 最近有个上亿个关系 节点的数据需要导入到Neo4j xff0c 有以下几个工具可以导入 xff1a Cypher CREATE 语句 xff0c 为每一条数据写一个CREATECyph
  • Ajax与jQuery异步加载数据

    本文共1096个字 xff0c 预计阅读时间需要4分钟 简介 一次性从服务器数据库中读取数据并传送到前端页面上是不现实的 xff0c 一方面会加重服务器的压力 xff0c 另一方面客户的带宽资源也会被占用 Ajax刚好可以解决数据异步加载的
  • 图注意力网络(GAT) TensorFlow解析

    论文 图注意力网络来自 Graph Attention Networks xff0c ICLR 2018 https arxiv org abs 1710 10903 注意力机制 代码 span class token keyword im
  • 知识图谱属性与关系区别

    本文共674个字 xff0c 预计阅读时间需要3分钟 知识图谱中属性和关系的区别主要是在于其面对的实体不同 实体关系分为两种 xff0c 一种是属性property xff0c 一种是关系relation 其最大区别在于 xff0c 属性所
  • 知识融合(实体对齐)笔记

    本文共1132个字 xff0c 预计阅读时间需要4分钟 知识融合 本体匹配 xff08 ontology matching xff09 侧重发现模式层等价或相似的类 属性或关系 xff0c 也成为本体映射 xff08 mapping xff
  • C/C++/Windows/VC/MFC/Unix/Linux编程书籍推荐

    C C 43 43 编程书籍 C Primer Plus C 43 43 Primer C 43 43 Primer Plus C和指针 C陷阱与缺陷 C专家编程 C 43 43 沉思录 C语言深度剖析 Effective C 43 43
  • FR算法(Fruchterman-Reingold)Python实现

    简介Fruchterman Reingold FR FR算法将所有的结点看做是电子 xff0c 每个结点收到两个力的作用 xff1a 其他结点的库伦力 xff08 斥力 xff09 f a d
  • COVID-19知识图谱问答系统(基于REFO)

    本文共669个字 xff0c 预计阅读时间需要3分钟 简介 基于知识图谱的问答系统 xff0c 即KBQA 其中一个简单的实现方法是根据用户输入的自然语言问句 xff0c 转化为图数据库中的关系查询 xff0c 最终将数据库中的实体及关系呈
  • 黑暗森林:知识图谱的前世今生

    黑暗森林 宇宙就是一座黑暗森林 每个文明都是带枪的猎人 像幽灵般潜行于林间 轻轻拨开挡路的树枝 竭力不让脚步发出一点儿声音 连呼吸都必须小心翼翼 他必须小心 因为林中到处都有与他一样潜行的猎人 如果他发现了别的生命 能做的只有一件事 开枪消
  • 图神经网络(GNN)TensorFlow实现

    图神经网络的研究与图嵌入或网络嵌入密切相关 xff0c 图嵌入或网络嵌入是数据挖掘和机器学习界日益关注的另一个课题 图嵌入旨在通过保留图的网络拓扑结构和节点内容信息 xff0c 将图中顶点表示为低维向量 xff0c 以便使用简单的机器学习算
  • BERT-BiLSTM-CRF命名实体识别应用

    引言 本文将采用BERT 43 BiLSTM 43 CRF模型进行命名实体识别 xff08 Named Entity Recognition 简称NER xff09 xff0c 即实体识别 命名实体识别 xff0c 是指识别文本中具有特定意
  • 知识图谱综述论文阅读

    论文摘要 论文为A Survey on Knowledge Graphs Representation Acquisition and Applications xff0c 发表日期2020年 xff0c 论文PDF xff0c 点击链接
  • 奥威尔:老大哥在看着你-软件公司十诫

    奥威尔 老大哥在看着你 Orwell Keeping an Eye On You是一款反乌托邦政府监控模拟器 其中的奥威尔 Orwell 是一项新的政府安全计划 有权对 国家 中每个人的在线状态进行调查 它可以监视所有个人通信并访问任何计算
  • 基于留一法的快速KNN代码

    本文共885个字 xff0c 预计阅读时间需要3分钟 留一法交叉验证 xff08 LOOCV xff09 留一法即Leave One Out Cross Validation 这种方法比较简单易懂 xff0c 就是把一个大的数据集分为k个小
  • 个人主页信息提取器

    本文共731个字 预计阅读时间需要3分钟 简介 从研究人员的主页 HTML 中提取信息 并将信息自动分为三类 您可以添加更多的类 支持中英文页面 可以分成的类别 publication education honor 详细 从互联网文本数据
  • FastAPI搭建文件上传服务器

    本文共435个字 xff0c 预计阅读时间需要2分钟 FastAPI 是一个高性能 Web 框架 xff0c 也是一个Python包 xff0c 用于构建 API xff0c 适合利用极少的代码搭建服务器后端 xff0c 实现前后端分离 下