headless_lms_utils/file_store/
file_utils.rs1use super::GenericPayload;
2use futures::TryStreamExt;
3use std::{ffi::OsStr, path::Path};
4use tokio_util::io::ReaderStream;
5
6pub fn get_extension_from_filename(filename: &str) -> Option<&str> {
7 Path::new(filename).extension().and_then(OsStr::to_str)
8}
9
10pub fn file_to_payload(file: std::fs::File) -> GenericPayload {
11 let file = tokio::fs::File::from_std(file);
12 let stream = ReaderStream::new(file).map_err(anyhow::Error::from);
13 Box::pin(stream) as GenericPayload
14}