Beispiel für das Hochladen von Wicket-Dateien
Beispiel, das Ihnen zeigt, wie Sie eine WicketFileUploadField-Komponente erstellen, damit der Benutzer eine Datei vom lokalen Laufwerk auswählen und auf den Server hochladen kann.
//Java
import org.apache.wicket.markup.html.form.upload.FileUploadField;
form.setMultiPart(true);
form.add(fileUpload = new FileUploadField("fileUpload"));
//HTML
Um eine Datei hochzuladen, müssen Sie "multipart mode" in der Wicket-Formularkomponente aktivieren.
1. FileUpload-Beispiel
Beispiel zum Rendern einer Datei-Upload-Komponente und zum Begrenzen vonuploaded file size to 10k. Die neu hochgeladene Datei wird an einem vordefinierten Ort gespeichert.
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-Seite
Rendern Sie die Komponente über ein HTML-Eingabe-Tag.
Wicket file upload example
3. Demo
Start und Besuch -http://localhost:8080/WicketExamples/
Wenn die Dateigröße mehr als 10 KB beträgt, wird ein Anzeigefehler angezeigt

Alles in Ordnung, Namen der gespeicherten Datei anzeigen.

Laden Sie es herunter -Wicket-FileUpload-Example.zip (7 KB)