org.springframework.http.codec.multipart

## Interface FilePart

- All Superinterfaces:
    Part

      public interface FilePart
      extends Part

  Specialization of `Part` that represents an uploaded file received in a multipart request.
  Since:
    5.0
  Author:
    Rossen Stoyanchev, Juergen Hoeller

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `filename()` Return the original filename in the client's filesystem.
    `default reactor.core.publisher.Mono<Void>` | `transferTo(File dest)` Convenience method to copy the content of the file in this part to the given destination file.
    `reactor.core.publisher.Mono<Void>` | `transferTo(Path dest)` Convenience method to copy the content of the file in this part to the given destination file.

    - ### Methods inherited from interface org.springframework.http.codec.multipart.Part

      `content, delete, headers, name`

- - ### Method Detail

    - #### filename

          String filename()

      Return the original filename in the client's filesystem.

      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

    - #### transferTo

          default reactor.core.publisher.Mono<Void> transferTo(File dest)

      Convenience method to copy the content of the file in this part to the given destination file. If the destination file already exists, it will be truncated first.

      The default implementation delegates to `transferTo(Path)`.

      Parameters:
        `dest` - the target file
      Returns:
        completion `Mono` with the result of the file transfer, possibly `IllegalStateException` if the part isn't a file
      See Also:
        `transferTo(Path)`

    - #### transferTo

          reactor.core.publisher.Mono<Void> transferTo(Path dest)

      Convenience method to copy the content of the file in this part to the given destination file. If the destination file already exists, it will be truncated first.
      Parameters:
        `dest` - the target file
      Returns:
        completion `Mono` with the result of the file transfer, possibly `IllegalStateException` if the part isn't a file
      Since:
        5.1
      See Also:
        `transferTo(File)`