Struct multipart::server::MultipartFile [−][src]
pub struct MultipartFile<'a, B: 'a> { /* fields omitted */ }A representation of a file in HTTP multipart/form-data.
Note that the file is not yet saved to the local filesystem;
instead, this struct exposes Read and BufRead impls which point
to the beginning of the file's contents in the HTTP stream.
You can read it to EOF, or use one of the save_*() methods here
to save it to disk.
Methods
impl<'a, B: Read> MultipartFile<'a, B>[src]
impl<'a, B: Read> MultipartFile<'a, B>pub fn save_to<W: Write>(&mut self, out: W) -> Result<u64>[src]
pub fn save_to<W: Write>(&mut self, out: W) -> Result<u64>Save this file to the given output stream.
If successful, returns the number of bytes written.
Retries when io::Error::kind() == io::ErrorKind::Interrupted.
pub fn save_to_limited<W: Write>(&mut self, out: W, limit: u64) -> Result<u64>[src]
pub fn save_to_limited<W: Write>(&mut self, out: W, limit: u64) -> Result<u64>Save this file to the given output stream, truncated to limit
(no more than limit bytes will be written out).
If successful, returns the number of bytes written.
Retries when io::Error::kind() == io::ErrorKind::Interrupted.
pub fn save_as<P: Into<PathBuf>>(&mut self, path: P) -> Result<SavedFile>[src]
pub fn save_as<P: Into<PathBuf>>(&mut self, path: P) -> Result<SavedFile>Save this file to path.
Returns the saved file info on success, or any errors otherwise.
Retries when io::Error::kind() == io::ErrorKind::Interrupted.
pub fn save_in<P: AsRef<Path>>(&mut self, dir: P) -> Result<SavedFile>[src]
pub fn save_in<P: AsRef<Path>>(&mut self, dir: P) -> Result<SavedFile>Save this file in the directory pointed at by dir,
using a random alphanumeric string as the filename.
Any missing directories in the dir path will be created.
Returns the saved file's info on success, or any errors otherwise.
Retries when io::Error::kind() == io::ErrorKind::Interrupted.
pub fn save_as_limited<P: Into<PathBuf>>(
&mut self,
path: P,
limit: u64
) -> Result<SavedFile>[src]
pub fn save_as_limited<P: Into<PathBuf>>(
&mut self,
path: P,
limit: u64
) -> Result<SavedFile>Save this file to path, truncated to limit (no more than limit bytes will be written out).
Any missing directories in the dir path will be created.
Returns the saved file's info on success, or any errors otherwise.
Retries when io::Error::kind() == io::ErrorKind::Interrupted.
pub fn save_in_limited<P: AsRef<Path>>(
&mut self,
dir: P,
limit: u64
) -> Result<SavedFile>[src]
pub fn save_in_limited<P: AsRef<Path>>(
&mut self,
dir: P,
limit: u64
) -> Result<SavedFile>Save this file in the directory pointed at by dir,
using a random alphanumeric string as the filename.
Truncates file to limit (no more than limit bytes will be written out).
Any missing directories in the dir path will be created.
Returns the saved file's info on success, or any errors otherwise.
Retries when io::Error::kind() == io::ErrorKind::Interrupted.
pub fn filename(&self) -> Option<&str>[src]
pub fn filename(&self) -> Option<&str>Get the filename of this entry, if supplied.
##Warning You should treat this value as untrustworthy because it is an arbitrary string provided by the client. You should not blindly append it to a directory path and save the file there, as such behavior could easily be exploited by a malicious client.
pub fn content_type(&self) -> &Mime[src]
pub fn content_type(&self) -> &MimeGet the MIME type (Content-Type value) of this file, if supplied by the client,
or "applicaton/octet-stream" otherwise.
Trait Implementations
impl<'a, B: Debug + 'a> Debug for MultipartFile<'a, B>[src]
impl<'a, B: Debug + 'a> Debug for MultipartFile<'a, B>fn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl<'a, B: Read> Read for MultipartFile<'a, B>[src]
impl<'a, B: Read> Read for MultipartFile<'a, B>fn read(&mut self, buf: &mut [u8]) -> Result<usize>[src]
fn read(&mut self, buf: &mut [u8]) -> Result<usize>Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more
unsafe fn initializer(&self) -> Initializer[src]
unsafe fn initializer(&self) -> Initializerread_initializer)Determines if this Reader can work with buffers of uninitialized memory. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>1.0.0[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>Read all bytes until EOF in this source, placing them into buf. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>1.0.0[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>Read all bytes until EOF in this source, appending them to buf. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>1.6.0[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>Read the exact number of bytes required to fill buf. Read more
ⓘImportant traits for &'a mut Rfn by_ref(&mut self) -> &mut Self1.0.0[src]
fn by_ref(&mut self) -> &mut SelfCreates a "by reference" adaptor for this instance of Read. Read more
ⓘImportant traits for Bytes<R>fn bytes(self) -> Bytes<Self>1.0.0[src]
fn bytes(self) -> Bytes<Self>Transforms this Read instance to an [Iterator] over its bytes. Read more
ⓘImportant traits for Chars<R>fn chars(self) -> Chars<Self>[src]
fn chars(self) -> Chars<Self>: Use str::from_utf8 instead: https://doc.rust-lang.org/nightly/std/str/struct.Utf8Error.html#examples
🔬 This is a nightly-only experimental API. (io)
the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read instance to an [Iterator] over [char]s. Read more
ⓘImportant traits for Chain<T, U>fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read, 1.0.0[src]
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read, Creates an adaptor which will chain this stream with another. Read more
ⓘImportant traits for Take<T>fn take(self, limit: u64) -> Take<Self>1.0.0[src]
fn take(self, limit: u64) -> Take<Self>Creates an adaptor which will read at most limit bytes from it. Read more
impl<'a, B: Read> BufRead for MultipartFile<'a, B>[src]
impl<'a, B: Read> BufRead for MultipartFile<'a, B>fn fill_buf(&mut self) -> Result<&[u8]>[src]
fn fill_buf(&mut self) -> Result<&[u8]>Fills the internal buffer of this object, returning the buffer contents. Read more
fn consume(&mut self, amt: usize)[src]
fn consume(&mut self, amt: usize)Tells this buffer that amt bytes have been consumed from the buffer, so they should no longer be returned in calls to read. Read more
fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>1.0.0[src]
fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>Read all bytes into buf until the delimiter byte or EOF is reached. Read more
fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>1.0.0[src]
fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>Read all bytes until a newline (the 0xA byte) is reached, and append them to the provided buffer. Read more
ⓘImportant traits for Split<B>fn split(self, byte: u8) -> Split<Self>1.0.0[src]
fn split(self, byte: u8) -> Split<Self>Returns an iterator over the contents of this reader split on the byte byte. Read more
ⓘImportant traits for Lines<B>fn lines(self) -> Lines<Self>1.0.0[src]
fn lines(self) -> Lines<Self>Returns an iterator over the lines of this reader. Read more
Auto Trait Implementations
impl<'a, B> Send for MultipartFile<'a, B> where
B: Send,
impl<'a, B> Send for MultipartFile<'a, B> where
B: Send, impl<'a, B> Sync for MultipartFile<'a, B> where
B: Sync,
impl<'a, B> Sync for MultipartFile<'a, B> where
B: Sync,