使用 FastAPI 框架时,为网站提供一个 favicon.ico 图标。当用户在浏览器中打开网站时,会自动请求该图标以展示在浏览器标签页上。该代码通过读取文件的方式获取图标数据,并通过 FastAPI 的 Response 类返回给浏览器。其中,media_type 参数指定了图标的类型为 image/x-icon。
时间: 2023-06-18 18:01:56 浏览: 396
favicon.js:获取网站的图标 URL
下面是一个示例代码:
```python
from fastapi import FastAPI, Response
app = FastAPI()
@app.get("/favicon.ico")
async def get_favicon():
with open("favicon.ico", "rb") as f:
favicon = f.read()
return Response(content=favicon, media_type="image/x-icon")
```
上面的代码中,`/favicon.ico` 是请求的 URL 路径,`get_favicon()` 是处理该请求的函数。函数中,使用 `with open()` 语句读取 `favicon.ico` 文件,并将文件内容作为 Response 对象的 `content` 参数返回。`media_type` 参数指定了图标的类型为 `image/x-icon`,这是浏览器能够识别的图标类型。
将上面的代码保存为文件 `main.py`,在终端中进入该文件所在的目录,运行命令 `uvicorn main:app --reload` 启动 FastAPI 服务器,之后在浏览器中访问 `http://localhost:8000/favicon.ico` 即可看到图标。
阅读全文