MultipartFormData

Struct MultipartFormData 

Source
pub struct MultipartFormData<T = ()> { /* private fields */ }
Expand description

A streaming multipart form data handler.

This type makes it easy to send and receive multipart form data in a streaming fashion by directly leveraging the corresponding dioxus_html::FormData and axum::extract::Multipart types.

On the client, you can create a MultipartFormData instance by using .into() on a FormData instance. This is typically done by using the FormEvent’s .data() method.

On the server, you can extract a MultipartFormData instance by using it as an extractor in your handler function. This gives you access to axum’s Multipart extractor, which allows you to handle the various fields and files in the multipart form data.

§Axum Usage

Extractor that parses multipart/form-data requests (commonly used with file uploads).

⚠️ Since extracting multipart form data from the request requires consuming the body, the Multipart extractor must be last if there are multiple extractors in a handler. See “the order of extractors”

§Large Files

For security reasons, by default, Multipart limits the request body size to 2MB. See DefaultBodyLimit for how to configure this limit.

Trait Implementations§

Source§

impl<T> From<Event<FormData>> for MultipartFormData<T>

Source§

fn from(event: FormEvent) -> Self

Converts to this type from the input type.
Source§

impl<T> From<Rc<FormData>> for MultipartFormData<T>

Source§

fn from(_value: Rc<FormData>) -> Self

Converts to this type from the input type.
Source§

impl<S: Send + Sync + 'static, D> FromRequest<S> for MultipartFormData<D>

Source§

fn from_request( req: Request, state: &S, ) -> impl Future<Output = Result<Self, Self::Rejection>> + Send

Perform the extraction.

Source§

type Rejection = Response<Body>

If the extractor fails it’ll use this “rejection” type. A rejection is a kind of error that can be converted into a response.
Source§

impl<S> IntoRequest for MultipartFormData<S>

Source§

fn into_request( self, _req: ClientRequest, ) -> impl Future<Output = Result<ClientResponse, RequestError>> + 'static

Source§

impl Send for MultipartFormData

Source§

impl Sync for MultipartFormData

Auto Trait Implementations§

§

impl<T> Freeze for MultipartFormData<T>

§

impl<T = ()> !RefUnwindSafe for MultipartFormData<T>

§

impl<T = ()> !Send for MultipartFormData<T>

§

impl<T = ()> !Sync for MultipartFormData<T>

§

impl<T> Unpin for MultipartFormData<T>
where T: Unpin,

§

impl<T = ()> !UnwindSafe for MultipartFormData<T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> InitializeFromFunction<T> for T

Source§

fn initialize_from_function(f: fn() -> T) -> T

Create an instance of this type from an initialization function
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<Ret> SpawnIfAsync<(), Ret> for Ret

Source§

fn spawn(self) -> Ret

Spawn the value into the dioxus runtime if it is an async block
Source§

impl<T, O> SuperFrom<T> for O
where O: From<T>,

Source§

fn super_from(input: T) -> O

Convert from a type to another type.
Source§

impl<T, O, M> SuperInto<O, M> for T
where O: SuperFrom<T, M>,

Source§

fn super_into(self) -> O

Convert from a type to another type.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,