Пример загрузки файла калитки
Пример, показывающий вам, как создать компонент 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)