com.vaadin.flow.component.upload.
Class Upload
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.upload.GeneratedVaadinUpload<Upload>
-
- com.vaadin.flow.component.upload.Upload
-
All Implemented Interfaces:
AttachNotifier
,DetachNotifier
,HasElement
,HasSize
,HasStyle
,Serializable
public class Upload extends GeneratedVaadinUpload<Upload> implements HasSize
Upload is a component for uploading one or more files. It shows the upload progression and status of each file. Files can be uploaded using the Upload button or via drag and drop.
Author:
Vaadin Ltd.
See Also:
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.vaadin.flow.component.upload.GeneratedVaadinUpload
GeneratedVaadinUpload.FileRejectEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.FilesChangeEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.MaxFilesReachedChangeEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.UploadAbortEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.UploadBeforeEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.UploadErrorEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.UploadProgressEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.UploadRequestEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.UploadResponseEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.UploadRetryEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.UploadStartEvent<R extends GeneratedVaadinUpload<R>>, GeneratedVaadinUpload.UploadSuccessEvent<R extends GeneratedVaadinUpload<R>>
-
-
Method Summary
All Methods Modifier and Type Method Description Registration
addAllFinishedListener(ComponentEventListener<AllFinishedEvent> listener)
Add listener that is informed on all uploads finished.
Registration
addFailedListener(ComponentEventListener<FailedEvent> listener)
Add a succeeded listener that is informed on upload failure.
Registration
addFileRejectedListener(ComponentEventListener<FileRejectedEvent> listener)
Adds a listener for
file-reject
events fired when a file cannot be added due to some constrains:setMaxFileSize, setMaxFiles, setAcceptedFileTypes
Registration
addFinishedListener(ComponentEventListener<FinishedEvent> listener)
Add a succeeded listener that is informed on upload finished.
Registration
addProgressListener(ComponentEventListener<ProgressUpdateEvent> listener)
Add a progress listener that is informed on upload progress.
Registration
addStartedListener(ComponentEventListener<StartedEvent> listener)
Add a succeeded listener that is informed on upload start.
Registration
addSucceededListener(ComponentEventListener<SucceededEvent> listener)
Add a succeeded listener that is informed on upload succeeded.
void
clearFileList()
Clear the list of files being processed, or already uploaded.
protected void
fireUpdateProgress(long totalBytes, long contentLength)
Emit the progress event.
List<String>
getAcceptedFileTypes()
Get the list of accepted file types for upload.
Component
getDropLabel()
Get the component set as the drop label, if any.
Component
getDropLabelIcon()
Get the component set as the drop label icon, if any.
UploadI18N
getI18n()
Get the internationalization object previously set for this component.
int
getMaxFiles()
Get the maximum number of files allowed for the user to select to upload.
int
getMaxFileSize()
Get the maximum allowed file size in the client-side, in bytes.
Receiver
getReceiver()
Return the current receiver.
Component
getUploadButton()
Get the component set as the upload button for the upload, if any.
void
interruptUpload()
Interrupt the upload currently being received.
boolean
isAutoUpload()
Get the auto upload status.
boolean
isDropAllowed()
Get whether file dropping is allowed or not.
boolean
isUploading()
Is upload in progress.
protected void
onAttach(AttachEvent attachEvent)
Called when the component is attached to a UI.
void
setAcceptedFileTypes(String... acceptedFileTypes)
Specify the types of files that the server accepts.
void
setAutoUpload(boolean autoUpload)
When
false
, it prevents uploads from triggering immediately upon adding file(s).void
setDropAllowed(boolean dropAllowed)
Define whether the element supports dropping files on it for uploading.
void
setDropLabel(Component dropLabel)
Set the component to show as a message to the user to drop files in the upload component.
void
setDropLabelIcon(Component dropLabelIcon)
Set the component to show as the drop label icon.
void
setI18n(UploadI18N i18n)
Set the internationalization properties for this component.
void
setMaxFiles(int maxFiles)
Limit of files to upload, by default it is unlimited.
void
setMaxFileSize(int maxFileSize)
Specify the maximum file size in bytes allowed to upload.
void
setReceiver(Receiver receiver)
Set the receiver implementation that should be used for this upload component.
void
setUploadButton(Component uploadButton)
Set the component as the actionable button inside the upload component, that opens the dialog for choosing the files to be upload.
-
Methods inherited from class com.vaadin.flow.component.upload.GeneratedVaadinUpload
addFileRejectListener, addFilesChangeListener, addMaxFilesReachedChangeListener, addToAddButton, addToDropLabel, addToDropLabelIcon, addToFileList, addUploadAbortListener, addUploadBeforeListener, addUploadErrorListener, addUploadProgressListener, addUploadRequestListener, addUploadResponseListener, addUploadRetryListener, addUploadStartListener, addUploadSuccessListener, getAcceptString, getCaptureString, getFilesJsonArray, getFormDataNameString, getHeadersJsonObject, getI18nJsonObject, getMaxFilesDouble, getMaxFileSizeDouble, getMethodString, getTargetString, getTimeoutDouble, isMaxFilesReachedBoolean, isNoAutoBoolean, isNodropBoolean, isWithCredentialsBoolean, remove, removeAll, setAccept, setCapture, setFiles, setFormDataName, setHeaders, setI18n, setMaxFiles, setMaxFileSize, setMethod, setNoAuto, setNodrop, setTarget, setTimeout, setWithCredentials, uploadFiles
-
Methods inherited from class com.vaadin.flow.component.Component
addListener, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getLocale, getParent, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, scrollIntoView, set, setElement, setId, setVisible
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListener
-
Methods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListener
-
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
-
Methods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull
-
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
-
-
-
-
Constructor Detail
-
Upload
public Upload()
Create a new instance of Upload.
The receiver must be set before performing an upload.
-
Upload
public Upload(Receiver receiver)
Create a new instance of Upload with the given receiver.
Parameters:
receiver
- receiver that handles the upload
-
-
Method Detail
-
addAllFinishedListener
public Registration addAllFinishedListener(ComponentEventListener<AllFinishedEvent> listener)
Add listener that is informed on all uploads finished.
Parameters:
listener
- all finished listener to addReturns:
a
Registration
for removing the event listener
-
setMaxFiles
public void setMaxFiles(int maxFiles)
Limit of files to upload, by default it is unlimited. If the value is set to one, the native file browser will prevent selecting multiple files.
Parameters:
maxFiles
- the maximum number of files allowed for the user to select
-
getMaxFiles
public int getMaxFiles()
Get the maximum number of files allowed for the user to select to upload.
Returns:
the maximum number of files
-
setMaxFileSize
public void setMaxFileSize(int maxFileSize)
Specify the maximum file size in bytes allowed to upload. Notice that it is a client-side constraint, which will be checked before sending the request.
Parameters:
maxFileSize
- the maximum file size in bytes
-
getMaxFileSize
public int getMaxFileSize()
Get the maximum allowed file size in the client-side, in bytes.
Returns:
the maximum file size in bytes
-
setAutoUpload
public void setAutoUpload(boolean autoUpload)
When
false
, it prevents uploads from triggering immediately upon adding file(s). The default istrue
.Parameters:
autoUpload
-true
to allow uploads to start immediately after selecting files,false
otherwise.
-
isAutoUpload
public boolean isAutoUpload()
Get the auto upload status.
Returns:
true
if the upload of files should start immediately after they are selected,false
otherwise.
-
setDropAllowed
public void setDropAllowed(boolean dropAllowed)
Define whether the element supports dropping files on it for uploading. By default it's enabled in desktop and disabled in touch devices because mobile devices do not support drag events in general. Setting it
true
means that drop is enabled even in touch-devices, andfalse
disables drop in all devices.Parameters:
dropAllowed
-true
to allow file dropping,false
otherwise
-
isDropAllowed
public boolean isDropAllowed()
Get whether file dropping is allowed or not. By default it's enabled in desktop and disabled in touch devices because mobile devices do not support drag events in general.
Returns:
true
if file dropping is allowed,false
otherwise.
-
setAcceptedFileTypes
public void setAcceptedFileTypes(String... acceptedFileTypes)
Specify the types of files that the server accepts. Syntax: a MIME type pattern (wildcards are allowed) or file extensions. Notice that MIME types are widely supported, while file extensions are only implemented in certain browsers, so it should be avoided.
Example:
"video/*","image/tiff"
or".pdf","audio/mp3"
Parameters:
acceptedFileTypes
- the allowed file types to be uploaded, ornull
to clear any restrictions
-
getAcceptedFileTypes
public List<String> getAcceptedFileTypes()
Get the list of accepted file types for upload.
Returns:
a list of allowed file types, never
null
.
-
setUploadButton
public void setUploadButton(Component uploadButton)
Set the component as the actionable button inside the upload component, that opens the dialog for choosing the files to be upload.
Parameters:
uploadButton
- the component to be clicked by the user to open the dialog, ornull
to reset to the default button
-
getUploadButton
public Component getUploadButton()
Get the component set as the upload button for the upload, if any.
Returns:
the actionable button, or
null
if none was set
-
setDropLabel
public void setDropLabel(Component dropLabel)
Set the component to show as a message to the user to drop files in the upload component. Despite of the name, the label can be any component.
Parameters:
dropLabel
- the label to show for the users when it's possible drop files, ornull
to clear it
-
getDropLabel
public Component getDropLabel()
Get the component set as the drop label, if any.
Returns:
the drop label component, or
null
if none was set
-
setDropLabelIcon
public void setDropLabelIcon(Component dropLabelIcon)
Set the component to show as the drop label icon. The icon is visible when the user can drop files to this upload component. Despite of the name, the drop label icon can be any component.
Parameters:
dropLabelIcon
- the label icon to show for the users when it's possible to drop files, ornull
to cleat it
-
getDropLabelIcon
public Component getDropLabelIcon()
Get the component set as the drop label icon, if any.
Returns:
the drop label icon component, or
null
if none was set
-
interruptUpload
public void interruptUpload()
Interrupt the upload currently being received.
The interruption will be done by the receiving thread so this method will return immediately and the actual interrupt will happen a bit later.
Note! this will interrupt all uploads in multi-upload mode.
-
isUploading
public boolean isUploading()
Is upload in progress.
Returns:
true if receiving upload
-
fireUpdateProgress
protected void fireUpdateProgress(long totalBytes, long contentLength)
Emit the progress event.
Parameters:
totalBytes
- bytes received so farcontentLength
- actual size of the file being uploaded, if known
-
addProgressListener
public Registration addProgressListener(ComponentEventListener<ProgressUpdateEvent> listener)
Add a progress listener that is informed on upload progress.
Parameters:
listener
- progress listener to addReturns:
registration for removal of listener
-
addFailedListener
public Registration addFailedListener(ComponentEventListener<FailedEvent> listener)
Add a succeeded listener that is informed on upload failure.
Parameters:
listener
- failed listener to addReturns:
registration for removal of listener
-
addFinishedListener
public Registration addFinishedListener(ComponentEventListener<FinishedEvent> listener)
Add a succeeded listener that is informed on upload finished.
Parameters:
listener
- finished listener to addReturns:
registration for removal of listener
-
addStartedListener
public Registration addStartedListener(ComponentEventListener<StartedEvent> listener)
Add a succeeded listener that is informed on upload start.
Parameters:
listener
- start listener to addReturns:
registration for removal of listener
-
addSucceededListener
public Registration addSucceededListener(ComponentEventListener<SucceededEvent> listener)
Add a succeeded listener that is informed on upload succeeded.
Parameters:
listener
- succeeded listener to addReturns:
registration for removal of listener
-
addFileRejectedListener
public Registration addFileRejectedListener(ComponentEventListener<FileRejectedEvent> listener)
Adds a listener for
file-reject
events fired when a file cannot be added due to some constrains:setMaxFileSize, setMaxFiles, setAcceptedFileTypes
Parameters:
listener
- the listenerReturns:
a
Registration
for removing the event listener
-
getReceiver
public Receiver getReceiver()
Return the current receiver.
Returns:
the StreamVariable.
-
setReceiver
public void setReceiver(Receiver receiver)
Set the receiver implementation that should be used for this upload component.
Note! If the receiver doesn't implement
MultiFileReceiver
then the upload will be automatically set to only accept one file.Parameters:
receiver
- receiver to use for file reception
-
setI18n
public void setI18n(UploadI18N i18n)
Set the internationalization properties for this component.
Parameters:
i18n
- the internationalized properties, notnull
-
onAttach
protected void onAttach(AttachEvent attachEvent)
Description copied from class:
Component
Called when the component is attached to a UI.
The default implementation does nothing.
This method is invoked before the
AttachEvent
is fired for the component.
-
getI18n
public UploadI18N getI18n()
Get the internationalization object previously set for this component.
Note: updating the object content that is gotten from this method will not update the language on the component if not set back using
setI18n(UploadI18N)
Returns:
the object with the i18n properties. If the i18n properties weren't set, the object will return
null
.
-
clearFileList
public void clearFileList()
Clear the list of files being processed, or already uploaded.
-
-