pub struct UploadHandler { /* private fields */ }Expand description
Handles file uploads with validation, storage, and optional image processing.
Implementations§
Source§impl UploadHandler
impl UploadHandler
Sourcepub fn new(backend: Arc<StorageBackend>) -> Self
pub fn new(backend: Arc<StorageBackend>) -> Self
Create a new upload handler with the given storage backend.
Sourcepub async fn process_upload(
&self,
filename: &str,
data: &[u8],
mime_type: &str,
max_size: Option<u64>,
allowed_types: Option<&[String]>,
storage_prefix: &str,
) -> Result<FileMetadata, StorageError>
pub async fn process_upload( &self, filename: &str, data: &[u8], mime_type: &str, max_size: Option<u64>, allowed_types: Option<&[String]>, storage_prefix: &str, ) -> Result<FileMetadata, StorageError>
Process an upload: validate size and MIME type, store the file.
Returns the file metadata on success.
Sourcepub async fn create_thumbnail(
&self,
original_path: &str,
max_width: u32,
max_height: u32,
storage_prefix: &str,
) -> Result<FileMetadata, StorageError>
pub async fn create_thumbnail( &self, original_path: &str, max_width: u32, max_height: u32, storage_prefix: &str, ) -> Result<FileMetadata, StorageError>
Generate a thumbnail for an image file.
Returns the metadata of the stored thumbnail.
Sourcepub async fn resize_image(
&self,
original_path: &str,
width: u32,
height: u32,
storage_prefix: &str,
) -> Result<FileMetadata, StorageError>
pub async fn resize_image( &self, original_path: &str, width: u32, height: u32, storage_prefix: &str, ) -> Result<FileMetadata, StorageError>
Resize an image to fit within the given dimensions.
Sourcepub async fn signed_url(
&self,
path: &str,
expires_secs: u64,
) -> Result<String, StorageError>
pub async fn signed_url( &self, path: &str, expires_secs: u64, ) -> Result<String, StorageError>
Generate a time-limited signed URL for a file.
Sourcepub async fn delete(&self, path: &str) -> Result<(), StorageError>
pub async fn delete(&self, path: &str) -> Result<(), StorageError>
Delete a file from storage (used for orphan cleanup).
Sourcepub fn backend(&self) -> &StorageBackend
pub fn backend(&self) -> &StorageBackend
Returns a reference to the underlying storage backend.
Auto Trait Implementations§
impl Freeze for UploadHandler
impl !RefUnwindSafe for UploadHandler
impl Send for UploadHandler
impl Sync for UploadHandler
impl Unpin for UploadHandler
impl UnsafeUnpin for UploadHandler
impl !UnwindSafe for UploadHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request