File Upload and Download
From Documentation
File Upload
You could associate the upload feature to a component, such as Button, Toolbarbutton or Menuitem. In other words, you could make a button or a menu item to upload a file when the user clicks on it.
The implementation is straightaway:
- Assign the upload attribute to true for the component used to upload a file
- Assign an event listener to the component for the onUpload event[1]
For example,
<zk>
<zscript>
void upload(UploadEvent event) {
org.zkoss.util.media.Media media = event.getMedia();
if (media instanceof org.zkoss.image.Image) {
org.zkoss.zul.Image image = new org.zkoss.zul.Image();
image.setContent( (org.zkoss.image.Image) media);
image.setParent(pics);
} else {
Messagebox.show("Not an image: "+media, "Error", Messagebox.OK, Messagebox.ERROR);
}
}
</zscript>
<button label="Upload" upload="true" onUpload="upload(event)"/>
<vlayout id="pics" />
</zk>
You could control the maximal allowed number of files, the maximal allowed size and other information by use of Button.setUpload(String).
<menupopup>
<menuitem label="Upload" upload="true,maxsize=-1,native"/>
</menupopup>
- ↑ If you enabled the use of event threads, you could use Fileupload.get() and related. For more information, please refer to the Event Thread section.
File Download
Filedownload provides a set of utilities to prompt a user for downloading a file from the server to a local folder. For example,
<button label="Download calendar.pdf" onClick='Filedownload.save("/resources/calendar.pdf", null);'/>
The file could be a static resource, an input stream, a file, a URL and others. Please refer to Filedownload for more information.
Version History
Version | Date | Content |
---|---|---|