Crates.io | flysystem |
lib.rs | flysystem |
version | 0.2.1 |
source | src |
created_at | 2023-12-18 02:13:03.007052 |
updated_at | 2024-12-10 15:18:11.72132 |
description | A filesystem abstraction layer for Rust. |
homepage | |
repository | https://github.com/m1guelpf/flysystem |
max_upload_size | |
id | 1072886 |
size | 72,783 |
A filesystem abstraction layer for Rust.
Flysystem is a file storage library for Rust. It provides one interface to interact with many types of filesystems. When you use Flysystem, you're not only protected from vendor lock-in, you'll also have a consistent experience for which ever storage is right for you.
It's inspired by the PHP library of the same name.
use flysystem::{Filesystem, adapters::{S3Adapter, s3::Config}};
// instantly swap between storage backends
// (like S3/FTP/etc) by changing the type 👇👇👇 here.
let mut filesystem = Filesystem::new::<S3Adapter>(Config {
region: env::var("S3_REGION").ok(),
bucket: env::var("S3_BUCKET").unwrap(),
endpoint: env::var("S3_ENDPOINT").unwrap(),
access_key: env::var("S3_ACCESS_KEY").unwrap(),
secret_key: env::var("S3_SECRET_KEY").unwrap(),
}).await?;
filesystem.write(Path::new("my-first-file.txt"), "Hello, world!").await?;
Refer to the documentation on docs.rs for detailed usage instructions.
This project is licensed under the MIT License - see the LICENSE file for details.