Пример загрузки файла калитки
Пример, показывающий вам, как создать компонент WicketFileUploadField, чтобы пользователь мог выбрать файл с локального диска и загрузить его на сервер.
//Java import org.apache.wicket.markup.html.form.upload.FileUploadField; form.setMultiPart(true); form.add(fileUpload = new FileUploadField("fileUpload")); //HTML
Чтобы загрузить файл, вы должны включить «multipart mode» в компоненте формы Wicket.
1. Пример FileUpload
Пример визуализации компонента загрузки файла и ограниченияuploaded file size to 10k. И новый загруженный файл будет сохранен в заранее определенном месте.
package com.example.user; import java.io.File; import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.upload.FileUpload; import org.apache.wicket.markup.html.form.upload.FileUploadField; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.util.lang.Bytes; public class FileUploadPage extends WebPage { private FileUploadField fileUpload; private String UPLOAD_FOLDER = "C:\\"; public FileUploadPage(final PageParameters parameters) { add(new FeedbackPanel("feedback")); Form> form = new Form("form") { @Override protected void onSubmit() { final FileUpload uploadedFile = fileUpload.getFileUpload(); if (uploadedFile != null) { // write to a new file File newFile = new File(UPLOAD_FOLDER + uploadedFile.getClientFileName()); if (newFile.exists()) { newFile.delete(); } try { newFile.createNewFile(); uploadedFile.writeTo(newFile); info("saved file: " + uploadedFile.getClientFileName()); } catch (Exception e) { throw new IllegalStateException("Error"); } } } }; // Enable multipart mode (need for uploads file) form.setMultiPart(true); // max upload size, 10k form.setMaxSize(Bytes.kilobytes(10)); form.add(fileUpload = new FileUploadField("fileUpload")); add(form); } }
2. HTML-страница
Рендеринг компонента с помощью тега ввода HTML.
Wicket file upload example
3. Demo
Начало и посещение -http://localhost:8080/WicketExamples/
Если размер файла превышает 10 КБ, отображается ошибка
Все хорошо, отображаемое имя сохраненного файла.
Скачать -Wicket-FileUpload-Example.zip (7KB)