Crates.io | axum_static |
lib.rs | axum_static |
version | 1.7.1 |
source | src |
created_at | 2023-01-22 04:47:36.194269 |
updated_at | 2024-04-29 12:46:46.042078 |
description | static file serving router for axum server |
homepage | https://github.com/myyrakle/axum_static/blob/master/README.md |
repository | https://github.com/myyrakle/axum_static |
max_upload_size | |
id | 764756 |
size | 7,489 |
static file serving for axum
You must use axum_static that matches your axum version.
First install crate.
cargo add axum_static
Then, create a static route and nest it in the existing route like so
let app = Router::new()
.nest("/", axum_static::static_router("public"))
If your app has state, you'll need to add with_state
, because static_router does not use state (()
):
let app = Router::new()
.route("/", get(index))
......
.nest("/static", axum_static::static_router("static").with_state())
......
.with_state(YourAppState { ... })
The argument of the static_router
function is the path to read static files based on the project root path.
Then you can read the file like this. It can also be a sub directory.
This is the end.