Python FastAPI 将本地图片传到前端显示

在开发 Web 应用时,我们经常需要将服务器上的图片资源传递给前端显示。本文将介绍如何使用 Python 的 FastAPI 框架实现这一功能。

FastAPI 简介

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API。它基于标准 Python 类型提示,支持异步请求处理,非常适合构建高性能的 Web 应用。

环境准备

首先,确保你已经安装了 Python 和 pip。然后,安装 FastAPI 和 Uvicorn,Uvicorn 是一个 ASGI 服务器,用于运行 FastAPI。

pip install fastapi uvicorn

创建 FastAPI 应用

创建一个名为 main.py 的文件,并写入以下代码:

from fastapi import FastAPI, HTTPException
from fastapi.responses import FileResponse
from pathlib import Path

app = FastAPI()

@app.get("/image")
async def get_image():
    image_path = Path("path/to/your/image.jpg")
    if not image_path.is_file():
        raise HTTPException(status_code=404, detail="Image not found")
    return FileResponse(image_path)

这段代码创建了一个 FastAPI 应用,并定义了一个 /image 路径。当访问这个路径时,它会检查本地是否存在指定的图片文件,如果存在,则返回该图片文件作为响应。

运行 FastAPI 应用

在终端中运行以下命令,启动 FastAPI 应用:

uvicorn main:app --reload

--reload 参数表示在代码更改时自动重新加载应用。

前端显示图片

现在,你可以在浏览器中访问 `

饼状图

使用 Mermaid 语法,我们可以在文章中插入一个饼状图,展示 FastAPI 的一些特性:

pie
    title FastAPI Features
    "异步支持" : 300
    "类型提示" : 150
    "高性能" : 250
    "易用性" : 100

甘特图

我们还可以插入一个甘特图,展示开发 FastAPI 应用的大致步骤:

gantt
    title FastAPI Application Development
    dateFormat  YYYY-MM-DD
    section Design
    Design :done,    des1, 2022-01-06,2022-01-08
    section Development
    Development :active,  dev1, 2022-01-09, 3d
    section Testing
    Testing :         test1, 2022-01-12, 3d
    section Deployment
    Deployment :         dep1, after test1, 1d

结尾

通过本文,你已经了解了如何使用 FastAPI 将本地图片传到前端显示。FastAPI 提供了一种简单、高效的方式来构建 Web 应用,并且可以轻松地处理图片等静态资源。希望本文对你有所帮助!