Skip to content
Version:

Install

Maven

xml
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-upload-flow</artifactId>
</dependency>

Import

java
import com.vaadin.flow.component.upload.Upload;
import com.vaadin.flow.component.upload.receivers.MultiFileMemoryBuffer;

Variants

Single File Mode

java
MultiFileMemoryBuffer buffer = new MultiFileMemoryBuffer();
Upload upload = new Upload(buffer);
upload.setMaxFiles(1);
upload.setDropAllowed(true);

upload.addSucceededListener(event -> {
    String fileName = event.getFileName();
    InputStream inputStream = buffer.getInputStream(fileName);
    // process file
});

Multiple File Mode

java
MultiFileMemoryBuffer buffer = new MultiFileMemoryBuffer();
Upload upload = new Upload(buffer);
upload.setMaxFiles(5);
upload.setDropAllowed(false);

File Type Restriction

java
MultiFileMemoryBuffer buffer = new MultiFileMemoryBuffer();
Upload upload = new Upload(buffer);
upload.setAcceptedFileTypes("application/pdf", "image/png", "image/jpeg");
upload.setMaxFileSize(5 * 1024 * 1024); // 5 MB