Class MultiFileBuffer

java.lang.Object
com.vaadin.flow.component.upload.receivers.AbstractFileBuffer
com.vaadin.flow.component.upload.receivers.MultiFileBuffer
All Implemented Interfaces:
MultiFileReceiver, Receiver, Serializable

public class MultiFileBuffer extends AbstractFileBuffer implements MultiFileReceiver
Basic receiver implementation for receiving multiple file upload and storing them as files. Files are stored by default to Files created using File.createTempFile(String, String) with a null suffix.

For a custom file the constructor AbstractFileBuffer(FileFactory) should be used.

See Also:
  • Constructor Details

    • MultiFileBuffer

      public MultiFileBuffer()
      Creates a file buffer with a default file factory.

      Files will be created using File.createTempFile(String, String) and have that build 'upload_tmpfile_{FILENAME}_{currentTimeMillis}'

    • MultiFileBuffer

      public MultiFileBuffer(FileFactory factory)
      Creates a file buffer that uses a file factory to create custom upload Files.
      Parameters:
      factory - file factory for file buffer
  • Method Details

    • receiveUpload

      public OutputStream receiveUpload(String fileName, String mimeType)
      Description copied from interface: Receiver
      Invoked when a new upload arrives.
      Specified by:
      receiveUpload in interface Receiver
      Parameters:
      fileName - the desired filename of the upload, usually as specified by the client
      mimeType - the MIME type of the uploaded file
      Returns:
      stream to which the uploaded file should be written
    • getFiles

      public Set<String> getFiles()
      Get the files stored for this buffer.
      Returns:
      files stored
    • getFileData

      public FileData getFileData(String fileName)
      Get file data for upload with file name.
      Parameters:
      fileName - file name to get upload data for
      Returns:
      file data for filename or null if not found
    • getFileDescriptor

      public FileDescriptor getFileDescriptor(String fileName)
      Get the output stream for file.
      Parameters:
      fileName - name of file to get stream for
      Returns:
      file output stream or null if not available
    • getInputStream

      public InputStream getInputStream(String fileName)
      Get the input stream for file with fileName.
      Parameters:
      fileName - name of file to get input stream for
      Returns:
      input stream for file or empty stream if file not found