Datei-Upload
Ein FileUploadDialog ist ein modales Dialogfeld, das entwickelt wurde, um dem Benutzer das Hochladen von Dateien aus seinem lokalen Dateisystem zu ermöglichen. Das Dialogfeld blockiert die Ausführung der Anwendung, bis der Benutzer Dateien zum Hochladen auswählt oder das Dialogfeld schließt.
Wenn Sie einen Dateiauswähler möchten, der direkt im Seitenlayout anstelle eines Dialogfelds gerendert wird, sollten Sie die Upload Komponente in Betracht ziehen.
Verwendungen
Der FileUploadDialog bietet eine Möglichkeit, Dateien auszuwählen und hochzuladen, sodass Benutzer Dokumente, Bilder oder andere Dateitypen, die von der Anwendung benötigt werden, einreichen können. Verwenden Sie showFileUploadDialog(), um das Dialogfeld anzuzeigen und die hochgeladene Datei zu erfassen.
UploadedFile result = OptionDialog.showFileUploadDialog("Eine Datei hochladen");
Ergebnis
Der FileUploadDialog gibt ein UploadedFile-Objekt zurück, das Informationen über die hochgeladene Datei enthält, wie ihren Namen, ihre Größe und ihren Inhalt. Wenn der Benutzer das Dialogfeld schließt, ohne eine Datei auszuwählen, wird das Ergebnis null sein.
Das resultierende UploadedFile-Objekt wird von der show()-Methode oder der entsprechenden OptionDialog-Methode wie unten gezeigt zurückgegeben.
Hochgeladene Dateien verschieben
Standardmäßig speichert webforJ hochgeladene Dateien in einem temporären Ordner, der regelmäßig gereinigt wird. Wenn Sie eine Datei nicht an einen anderen Ort verschieben, wird sie gelöscht. Um die Datei zu verschieben, verwenden Sie die move-Methode und geben Sie den Zielpfad an.
UploadedFile uploadedFile = OptionDialog.showFileUploadDialog("Wählen Sie eine Datei zum Hochladen aus");
try {
File file = uploadedFile.move("mein/voller/pfad/" + uploadedFile.getSanitizedClientName());
// ... machen Sie etwas mit der Datei
} catch (IOException e) {
// Ausnahme behandeln
}
Verwenden Sie die Methode getSanitizedClientName, um eine sanierte Version des Namens der hochgeladenen Datei zu erhalten. Diese Methode hilft, Sicherheitsrisiken wie Verzeichnisdurchlaufangriffe oder ungültige Zeichen in Dateinamen zu verhindern und gewährleistet die Integrität und Sicherheit Ihres Dateispeichersystems.
Filter
Der FileUploadDialog ermöglicht es Ihnen, Filter festzulegen, um die Arten von Dateien, die zum Hochladen ausgewählt werden können, einzuschränken. Sie können die Filter mit der Methode setFilters(List<FileChooserFilter> filters) konfigurieren.
FileUploadDialog dialog = new FileUploadDialog(
"Eine Datei hochladen",
Arrays.asList(new FileChooserFilter("Textdateien", "*.txt")));
UploadedFile result = dialog.show();
Der Server validiert die hochgeladene Datei nicht gegen die Filter. Die Filter werden nur in der Benutzeroberfläche angewendet, um die Auswahl des Benutzers zu leiten. Sie müssen serverseitige Validierungen implementieren, um sicherzustellen, dass die hochgeladenen Dateien den Anforderungen Ihrer Anwendung entsprechen.
Maximale Größe
Verwenden Sie setMaxFileSize(Number maxSize), um die maximale Uploadgröße in Bytes festzulegen.
dialog.setMaxFileSize(2 * 1024 * 1024); // Maximale Größe auf 2 MB festlegen
Internationalisierung (i18n)
Die Titel, Beschreibungen, Labels und Nachrichten innerhalb der Komponente sind vollständig anpassbar mit der FileUploadI18n-Klasse. Diese Flexibilität ermöglicht es Ihnen, die Dialogoberfläche an spezifische Lokalisierungsanforderungen oder Personalisierungspräferenzen anzupassen.
FileUploadDialog dialog = new FileUploadDialog("Datei hochladen");
FileUploadI18n i18n = new FileUploadI18n();
i18n.setUpload("Hochladen");
i18n.setCancel("Abbrechen");
dialog.setI18n(i18n);
UploadedFile result = dialog.show();
Beste Praktiken
- Klare und prägnante Aufforderungen: Stellen Sie sicher, dass die Aufforderungsnachricht klar erklärt, was der Benutzer hochladen soll.
- Angemessene Filter: Setzen Sie Dateifilter, die den erforderlichen Dateitypen entsprechen, um sicherzustellen, dass Benutzer relevante Dateien hochladen.
- Konsistentes Design: Passen Sie die Designs des Dialogs und des Uploadfelds an das Design Ihrer Anwendung an.
- Übermäßigen Gebrauch minimieren: Verwenden Sie Dateiuploaddialoge sparsam, um Frustrationen bei den Benutzern zu vermeiden. Reservieren Sie sie für Aktionen, die spezifische Benutzer-Dateiuploads erfordern.
