FastAPI静态文件映射到网页

安装了FastAPI 和 Uvicorn:pip install fastapi uvicorn

然后运行代码

from fastapi import FastAPI
from fastapi.staticfiles import StaticFilesapp = FastAPI()# 假设 dir_upload 为 "/Users/yourusername/yourprojectpath/files/"
dir_upload = "/Users/xiaokkk/Desktop/abragent_v1/files"# 将文件目录映射为静态文件路径
app.mount("/files", StaticFiles(directory=dir_upload), name="files")# 示例路由,演示访问文件
@app.get("/")
async def read_root():return {"message": "你可以在 /files 下访问文件"}# 示例路由,读取文件内容
@app.get("/read-file/{file_path:path}")
async def read_file(file_path: str):# 组合完整文件路径full_path = f"{dir_upload}/{file_path}"try:# 读取并返回文件内容with open(full_path, "r") as file:file_content = file.read()return {"file_content": file_content}except FileNotFoundError:return {"detail": "文件未找到"}

接下来,在终端运行以下命令启动 FastAPI:

uvicorn main:app --reload

然后,打开浏览器访问 http://127.0.0.1:8000/files/example.txt,应该能够看到 example.txt 文件的内容。同样,你可以根据实际情况修改路径和路由。

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

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

相关文章

大唐杯学习笔记:Day10

1.1 5G网络基本架构-SA 基站 gNB可支持FDD模式,TDD模式或双模式操作; gNB可以通过Xn接口互联; gNB内部CU分为控制面和用户面分离架构; gNB可以由gNB-CU和一个或多个gNB-DU组成; gNB-CU和gNB-DU通过F1接口连接; …

每日OJ题_链表④_力扣23. 合并 K 个升序链表(小根堆_归并)

目录 力扣23. 合并 K 个升序链表 解析代码1(小根堆优化) 解析代码2(递归_归并) 力扣23. 合并 K 个升序链表 23. 合并 K 个升序链表 难度 困难 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并…

MacBook2024苹果免费mac电脑清理垃圾软件CleanMyMac X

CleanMyMac X是一款专业的Mac清理软件,具备多种强大功能。首先,它能够智能清理Mac磁盘上的垃圾文件和多余语言安装包,从而快速释放电脑内存。其次,CleanMyMac X可以轻松管理和升级Mac上的应用,同时强力卸载恶意软件并修…

windows使用pyenv

1、前言 虽然anaconda比pyenv相比有更好的python安装体验,但是有一个比较严重的问题的就是,他的python版本跨度不够大,一些老一些的项目的python版本找不到,比如py12306要求的python版本是3.6,在anaconda却找不到这个版…

Alibaba Cloud Linux 3.2104 LTS 64位 怎么安装python3.10.12和pip3.10

目录 Linux 安装python3.10.12 Linux 安装python3.10.12 报错解决 Linux 安装python3.10.12 问题描述:Alibaba Cloud Linux 3.2104 LTS 64位 安装python3.10.12和pip3.10,本人按照网上普通几种安装方式虽然能安装上了,但是它与pip版本不一…

查看pip当前关联python版本及位置

好久没用python了,把各种pip指向的环境忘光光啦,这里记录一下查看pip当前关联的python版本及位置的方法: pip -V结果: 我一般不用这个版本的python,去环境变量看了一下,原来是anaconda的Scripts自带pip&a…

gprof安装使用(CMake)说明

一、安装 1、gprof默认已安装,可安装相关图形处理 sudo apt-get install python graphviz sudo pip install gprof2dot 注意:在Debian中没有安装成功,报Python的版本不匹配 二、使用说明 1、使用CMake管理的工程: 重新配置CMa…

记录一次以WEB API方式为sonar扫描问题分配责任人的自杀式袭击

前提背景:获取android代码中我们修改的所有文件扫描,忽略基线原生未修改的文件也忽略了git,这导致扫描的问题没有办法分配责任人。 一开始想到了api分配的方式,于是动手操作了起来(忽略了问题太多)&#x…

Elastic Stack--05--聚合、映射mapping

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.聚合(aggregations)基本概念桶(bucket)度量(metrics) 案例 11. 接下来按price字段进行分组:2. 若想对所…

LVS集群 ----------------(直接路由 )DR模式部署 (二)

一、LVS集群的三种工作模式 lvs-nat:修改请求报文的目标IP,多目标IP的DNAT lvs-dr:操纵封装新的MAC地址(直接路由) lvs-tun:隧道模式 lvs-dr 是 LVS集群的 默认工作模式 NAT通过网络地址转换实现的虚拟服务器&…

在Linux系统中安装Conda

在Linux系统中安装Conda(通常指的是安装Miniconda或Anaconda)可以通过以下步骤完成: 安装Miniconda: 下载Miniconda安装脚本: 打开终端,并使用wget或curl命令下载Miniconda的安装脚本。以下是使用wget的示…

(delphi11最新学习资料) Object Pascal 学习笔记---第6章第5节( 其他字符串类型 )

6.5 其他字符串类型 ​ 虽然字符串数据类型是迄今为止最常见、最常用的字符串表示类型,但 Object Pascal 桌面编译器过去和现在都有多种字符串类型。其中一些类型还可用于移动应用程序,在移动应用程序中,您也可以直接使用 TBytes 来操作单字…

2024年【电工(初级)】考试内容及电工(初级)考试报名

题库来源:安全生产模拟考试一点通公众号小程序 电工(初级)考试内容根据新电工(初级)考试大纲要求,安全生产模拟考试一点通将电工(初级)模拟考试试题进行汇编,组成一套电…

Gitlab修改仓库权限为public、Internal、Private

Public(公开):所有人都可以访问该仓库; Internal(内部):同一个GitLab群组或实例内的所有用户都可以访问该仓库; Private(私人):仅包括指定成员的用…

2024 年广东省职业院校技能大赛(高职组) “云计算应用”赛项样题②

2024 年广东省职业院校技能大赛(高职组) “云计算应用”赛项样题② 模块一 私有云(50 分)任务 1 私有云服务搭建(10 分)任务 2 私有云服务运维(25 分)任务 3 私有云运维开发&#xf…

odoo的create, wirte, update 的作用

在Odoo的开发过程中,主要会使用到create、write和update这几个方法来操作数据库中的记录。 create方法: create方法用于创建新的记录。当用户在Odoo的前端界面上填写表单并提交时,相应的Odoo模型(Model)会调用create方法。该方法接…

突破编程_前端_JS编程实例(目录导航)

1 开发目标 目录导航组件旨在提供一个滚动目录导航功能,使得用户可以方便地通过点击目录条目快速定位到对应的内容标题位置,同时也能够随着滚动条的移动动态显示当前位置在目录中的位置: 2 详细需求 2.1 标题提取与目录生成 组件需要能够自…

虚拟机实验环境配置与使用(计算机系统2)

一、 实验目标: 熟悉Linux上C程序的编译和调试工具,包括以下内容: 1. 了解Linux操作系统及其常用命令 2. 掌握编译工具gcc的基本用法 3. 掌握使用gdb进行程序调试 二、实验环境与工件 1.个人电脑 2. Fedora 13 Linux 操作系统 3. gcc…

【Python】牛客网—软件开发-Python专项练习(day1)

1.(单选)下面哪个是Python中不可变的数据结构? A.set B.list C.tuple D.dict 可变数据类型:列表list[ ]、字典dict{ }、集合set{ }(能查询,也可更改)数据发生改变,但内存地址不变 不…

OPCUA 学习笔记:程序模型

无论是边缘控制器,还是PLC 中,除了信息模型之外,还有应用程序,这些程序可能是IEC61131-3 编写的程序,也可能是其它程序开发的可执行程序。 尽管OPCUA 描述模型能力很强,但是它缺乏算法的描述方式。但是OPCU…