添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
public interface MultipartFile extends InputStreamSource
A representation of an uploaded file received in a multipart request.

The file contents are either stored in memory or temporarily on disk. In either case, the user is responsible for copying file contents to a session-level or persistent store as and if desired. The temporary storage will be cleared at the end of request processing.

Since:
29.09.2003
Author:
Juergen Hoeller, Trevor D. Cook
See Also:
  • MultipartHttpServletRequest
  • MultipartResolver
  • Return whether the uploaded file is empty, that is, either no file has been chosen in the multipart form or the chosen file has no content.
    Transfer the received file to the given destination file.
    default void
    Transfer the received file to the given destination file.
    @Nullable String getOriginalFilename ()
    Return the original filename in the client's filesystem.

    This may contain path information depending on the browser used, but it typically will not with any other than Opera.

    Note: Please keep in mind this filename is supplied by the client and should not be used blindly. In addition to not using the directory portion, the file name could also contain characters such as ".." and others that can be used maliciously. It is recommended to not use this filename directly. Preferably generate a unique one and save this one somewhere for reference, if necessary.

    Returns:
    the original filename, or the empty String if no file has been chosen in the multipart form, or null if not defined or not available
    See Also:
  • RFC 7578, Section 4.2
  • Unrestricted File Upload
  • isEmpty

    boolean isEmpty ()
    Return whether the uploaded file is empty, that is, either no file has been chosen in the multipart form or the chosen file has no content.
    byte[] getBytes () throws IOException
    Return the contents of the file as an array of bytes.
    Returns:
    the contents of the file as bytes, or an empty byte array if empty
    Throws:
    IOException - in case of access errors (if the temporary store fails)
    InputStream getInputStream () throws IOException
    Return an InputStream to read the contents of the file from.

    The user is responsible for closing the returned stream.

    Specified by:
    getInputStream in interface InputStreamSource
    Returns:
    the contents of the file as stream, or an empty stream if empty
    Throws:
    IOException - in case of access errors (if the temporary store fails)
    See Also:
  • Resource.isReadable()
  • Resource.isOpen()
  • getResource

    default Resource getResource ()
    Return a Resource representation of this MultipartFile. This can be used as input to the RestTemplate or the WebClient to expose content length and the filename along with the InputStream.
    Returns:
    this MultipartFile adapted to the Resource contract
    Since:
    throws IOException , IllegalStateException
    Transfer the received file to the given destination file.

    This may either move the file in the filesystem, copy the file in the filesystem, or save memory-held contents to the destination file. If the destination file already exists, it will be deleted first.

    If the target file has been moved in the filesystem, this operation cannot be invoked again afterwards. Therefore, call this method just once in order to work with any storage mechanism.

    NOTE: Depending on the underlying provider, temporary storage may be container-dependent, including the base directory for relative destinations specified here (e.g. with Servlet multipart handling). For absolute destinations, the target file may get renamed/moved from its temporary location or newly copied, even if a temporary copy already exists.

    Parameters:
    dest - the destination file (typically absolute)
    Throws:
    IOException - in case of reading or writing errors
    IllegalStateException - if the file has already been moved in the filesystem and is not available anymore for another transfer
    See Also:
  • Part.write(String)
  • throws IOException , IllegalStateException
    Transfer the received file to the given destination file.

    The default implementation simply copies the file input stream.

    Throws:
    IOException
    IllegalStateException
    Since:
    See Also:
  • getInputStream()
  • transferTo(File)
  •