Package org.zkoss.zul

Class Fileupload

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Component, Disable, Scope, Uploadable, ComponentCtrl
    Direct Known Subclasses:
    Fileupload

    public class Fileupload
    extends Button
    A fileupload dialog used to let user upload a file.

    There are two ways to use Fileupload:

    1. Open as a modal dialog:

    You don't create Fileupload directly. Rather, use get() or get(String, String).

    5.0.2: If the event thread is disabled, an onUpload event (UploadEvent) is posted to all root components when the upload dialog is closed. If you want the event being sent to a particular component, specify the component in the desktop's attribute called org.zkoss.zul.Fileupload.target. For example,

    desktop.setAttribute("org.zkoss.zul.Fileupload.target", mainWindow);
    Fileupload.get();

    2. Embed as part of the page:

    You can create it as a component and then listen to the onUpload event (UploadEvent).

    See also ZK Component Reference: Fileupload.

    A non-XUL extension.

    Author:
    tomyeh
    See Also:
    Filedownload, Serialized Form
    • Constructor Detail

      • Fileupload

        public Fileupload()
      • Fileupload

        public Fileupload​(java.lang.String label)
      • Fileupload

        public Fileupload​(java.lang.String label,
                          java.lang.String image)
    • Method Detail

      • get

        public static Media get()
        Opens a modal dialog with the default message and title, and let user upload a file.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event. For more information, refer to ZK Component Reference: Fileupload.
      • get

        public static Media get​(boolean alwaysNative)
        Opens a modal dialog with the default message and title, and let user upload a file.
        Parameters:
        alwaysNative - whether to treat the uploaded file as binary stream, regardless its content type. If false (the default), it will convert to Image, Audio, binary stream, or text files depending on the content type.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event. For more information, refer to ZK Component Reference: Fileupload.
        Since:
        3.0.0
        See Also:
        Configuration.getUploadCharset(), Configuration.getUploadCharsetFinder()
      • get

        public static Media get​(java.lang.String message,
                                java.lang.String title)
        Opens a modal dialog with the specified message and title, and let user upload a file.
        Parameters:
        message - the message. If null, the default is used.
        title - the title. If null, the default is used.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event. For more information, refer to ZK Component Reference: Fileupload.
      • get

        public static Media get​(java.lang.String message,
                                java.lang.String title,
                                boolean alwaysNative)
        Opens a modal dialog with the specified message and title, and let user upload a file.
        Parameters:
        message - the message. If null, the default is used.
        title - the title. If null, the default is used.
        alwaysNative - whether to treat the uploaded file as binary stream, regardless its content type. If false (the default), it will convert to Image, Audio, binary stream, or text files depending on the content type.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event. For more information, refer to ZK Component Reference: Fileupload.
        Since:
        3.0.0
        See Also:
        Configuration.getUploadCharset(), Configuration.getUploadCharsetFinder()
      • get

        public static Media[] get​(EventListener<UploadEvent> listener)
        Opens a modal dialog to upload multiple files with the default message and title.
        Parameters:
        listener - The callback event listener when the event thread is disabled, the listener will be invoked, if it is not null. Note: the target of the listener is always null.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. Set the listener parameter to retrieve the upload content when the upload has finished. . For more information, refer to ZK Component Reference: Fileupload.
      • get

        public static Media[] get​(int max,
                                  EventListener<UploadEvent> listener)
        Opens a modal dialog to upload multiple files with the default message and title.
        Parameters:
        max - the maximal allowed number that an user can upload at once. If non-positive, 1 is assumed.
        listener - The callback event listener when the event thread is disabled, the listener will be invoked, if it is not null. Note: the target of the listener is always null.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. Set the listener parameter to retrieve the upload content when the upload has finished. . For more information, refer to
      • get

        public static Media[] get​(int max)
        Opens a modal dialog to upload multiple files with the default message and title.
        Parameters:
        max - the maximal allowed number that an user can upload at once. If non-positive, 1 is assumed.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event. For more information, refer to ZK Component Reference: Fileupload.
      • get

        public static Media[] get​(int max,
                                  boolean alwaysNative)
        Opens a modal dialog to upload multiple files with the default message and title.
        Parameters:
        max - the maximal allowed number that an user can upload at once. If non-positive, 1 is assumed.
        alwaysNative - whether to treat the uploaded files as binary stream, regardless its content type. If false (the default), it will convert to Image, Audio, binary stream, or text files depending on the content type.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event. For more information, refer to ZK Component Reference: Fileupload.
        Since:
        3.0.0
        See Also:
        Configuration.getUploadCharset(), Configuration.getUploadCharsetFinder()
      • get

        public static Media[] get​(java.lang.String message,
                                  java.lang.String title,
                                  int max)
        Opens a modal dialog to upload multiple files with the specified message and title.

        The returned format depending on the content type.

        Parameters:
        max - the maximal allowed number that an user can upload at once. If non-positive, 1 is assumed. If max is larger than 1000, 1000 is assumed.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event. For more information, refer to ZK Component Reference: Fileupload.
      • get

        public static Media[] get​(java.lang.String message,
                                  java.lang.String title,
                                  int max,
                                  boolean alwaysNative)
        Opens a modal dialog to upload multiple files with the specified message, title and options.
        Parameters:
        max - the maximal allowed number that an user can upload at once. If non-positive, 1 is assumed. If max is larger than 1000, 1000 is assumed.
        alwaysNative - whether to treat the uploaded files as binary stream, regardless its content type. If false (the default), it will convert to Image, Audio, binary stream, or text files depending on the content type.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event. For more information, refer to ZK Component Reference: Fileupload.
        Since:
        3.0.0
      • get

        public static Media[] get​(java.lang.String message,
                                  java.lang.String title,
                                  int max,
                                  int maxsize,
                                  boolean alwaysNative)
        Opens a modal dialog to upload multiple files with the specified message, title and options.
        Parameters:
        max - the maximal allowed number that an user can upload at once. If non-positive, 1 is assumed. If max is larger than 1000, 1000 is assumed.
        maxsize - the maximal upload size of the component.
        alwaysNative - whether to treat the uploaded files as binary stream, regardless its content type. If false (the default), it will convert to Image, Audio, binary stream, or text files depending on the content type.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event. For more information, refer to ZK Component Reference: Fileupload.
        Since:
        3.6.0
      • get

        public static Media[] get​(java.util.Map<java.lang.String,​java.lang.Object> params,
                                  java.lang.String message,
                                  java.lang.String title,
                                  int max,
                                  int maxsize,
                                  boolean alwaysNative,
                                  EventListener<UploadEvent> listener)
        Opens a modal dialog to upload multiple files with the specified message, title and options.
        Parameters:
        max - the maximal allowed number that an user can upload at once. If non-positive, 1 is assumed. If max is larger than 1000, 1000 is assumed.
        maxsize - the maximal upload size of the component.
        alwaysNative - whether to treat the uploaded files as binary stream, regardless its content type. If false (the default), it will convert to Image, Audio, binary stream, or text files depending on the content type.
        listener - The callback event listener when the event thread is disabled, the listener will be invoked, if it is not null. Note: the target of the listener is always null.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event or set the listener parameter to retrieve the upload content when the upload has finished. . For more information, refer to ZK Component Reference: Fileupload.
        Since:
        6.5.3
      • get

        public static Media[] get​(java.util.Map<java.lang.String,​java.lang.Object> params,
                                  java.lang.String message,
                                  java.lang.String title,
                                  java.lang.String accept,
                                  int max,
                                  int maxsize,
                                  boolean alwaysNative,
                                  EventListener<UploadEvent> listener)
        Opens a modal dialog to upload multiple files with the specified message, title and options.
        Parameters:
        accept - specifies the types of files that the server accepts, the setting only works with HTML5 supported browsers
        max - the maximal allowed number that an user can upload at once. If non-positive, 1 is assumed. If max is larger than 1000, 1000 is assumed.
        maxsize - the maximal upload size of the component.
        alwaysNative - whether to treat the uploaded files as binary stream, regardless its content type. If false (the default), it will convert to Image, Audio, binary stream, or text files depending on the content type.
        listener - The callback event listener when the event thread is disabled, the listener will be invoked, if it is not null. Note: the target of the listener is always null.
        Returns:
        null if the uploaded content, or null if not uploaded. Notice, by default, the event thread is disabled, and this method won't suspend and always returns null. To retrieve the uploaded content, the developer has to listen the onUpload event or set the listener parameter to retrieve the upload content when the upload has finished. . For more information, refer to ZK Component Reference: Fileupload.
        Since:
        7.0.2
      • get

        protected static Media[] get​(java.util.Map<java.lang.String,​java.lang.Object> params,
                                     java.lang.String message,
                                     java.lang.String title,
                                     int max,
                                     int maxsize,
                                     boolean alwaysNative)
        The implementation of all public get methods. In other words, all public get methods will prepare an empty map and invoke this method to retrieve the media. It is designed to allow applications to customize the creation of the dialog, such as adding more parameters.
        Since:
        5.0.11
      • setTemplate

        public static void setTemplate​(java.lang.String uri)
        Sets the template used to create the upload modal dialog.

        The template must follow the default template: ~./zul/html/fileuploaddlg.zul

        In other words, just adjust the label and layout and don't change the component's ID.

        Note: the template has no effect, if you use Fileupload as a component (and embed it to a page).

      • getTemplate

        public static java.lang.String getTemplate()
        Returns the template used to create the upload modal dialog.