Package 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

Modifier and Type
Method
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 Details

### 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)`