Fileupload"

From Documentation
Line 35: Line 35:
 
Fileupload provides a set of static methods to simplify the file uploading, such as <javadoc method="get()">org.zkoss.zul.Fileupload</javadoc>, <javadoc method="get(java.lang.String, java.lang.String)">org.zkoss.zul.Fileupload</javadoc>, and so on.
 
Fileupload provides a set of static methods to simplify the file uploading, such as <javadoc method="get()">org.zkoss.zul.Fileupload</javadoc>, <javadoc method="get(java.lang.String, java.lang.String)">org.zkoss.zul.Fileupload</javadoc>, and so on.
  
The behavior is a little bit different depending on if the event thread is enabled (default: it is disabled<ref>Refer to [[ZK_Configuration_Reference/zk.xml/The_system-config_Element#The_disable-event-thread_Element | ZK Configuration Reference: disable-event-thread]].</ref>).
+
The behavior is a little bit different depending on if the event thread is enabled (default: it is disabled<ref>Prior to 5.0, it is default to enabled. Refer to [[ZK_Configuration_Reference/zk.xml/The_system-config_Element#The_disable-event-thread_Element | ZK Configuration Reference: disable-event-thread]].</ref>).
  
 
<blockquote>
 
<blockquote>
Line 42: Line 42:
 
</blockquote>
 
</blockquote>
  
=== Event Thread Disabled ===
+
=== Event Thread Disabled (default) ===
 +
 
 +
When the event thread is disabled (default), the execution won't be suspended when <javadoc method="get()">org.zkoss.zul.Fileupload</javadoc> is called. In other words, the returned value is always null.
  
 
=== Event Thread Enabled ===
 
=== Event Thread Enabled ===

Revision as of 06:48, 3 September 2010

Fileupload

Employment/Purpose

There are two ways to use Fileupload: uses Fileupload as a component to upload files, or invoke Fileupload.get() to open a dialog to upload files.

Use as a Component

Fileupload itself is a component. You can use it directly as follows.

<fileupload label="Upload">
   <attribute name="onLoad">
   org.zkoss.util.media.Media media = event.getMedia();
   //then, you can process media here
   </attribute>
</button>

Fileupload is actually a button with upload=true. In other words, the above is equivalent to

<button label="Upload" upload="true">
...

Invoke the Static Method: get

Fileupload provides a set of static methods to simplify the file uploading, such as Fileupload.get(), Fileupload.get(String, String), and so on.

The behavior is a little bit different depending on if the event thread is enabled (default: it is disabled[1]).


  1. Prior to 5.0, it is default to enabled. Refer to ZK Configuration Reference: disable-event-thread.

Event Thread Disabled (default)

When the event thread is disabled (default), the execution won't be suspended when Fileupload.get() is called. In other words, the returned value is always null.

Event Thread Enabled

Specify the target component

Since 5.0.2, if the event thread is disabled, an onUpload event 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(); //then mainWindow will receive the onUpload event

Example

<image id="img" />
Upload your hot shot:
<fileupload onUpload="img.setContent(event.media)" />


Supported events

Name
Event Type
None None

Supported Children

*NONE

Use cases

Version Description Example Location
     

Version History

Version Date Content
5.0.2 May 2010 Able to specify a target for the onUpload event sent by Fileupload.get(). Used if the event thread is disabled.



Last Update : 2010/09/03

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.