File Upload
Ein FileUploadDialog ist ein modales Dialogfeld, das entwickelt wurde, um es dem Benutzer zu ermöglichen, Dateien von seinem lokalen Dateisystem hochzuladen. Der Dialog blockiert die Ausführung der Anwendung, bis der Benutzer Dateien zum Hochladen auswählt oder den Dialog schließt.
Wenn Sie einen Dateiauswähler wünschen, der direkt im Seitenlayout und nicht in einem Dialog angezeigt 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 den Dialog 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 z.B. ihren Namen, ihre Größe und ihren Inhalt. Wenn der Benutzer den Dialog schließt, ohne eine Datei auszuwählen, wird das Ergebnis null sein.
Der resultierende String wird von der show()-Methode oder der äquivalenten OptionDialog-Methode wie unten gezeigt zurückgegeben.
Code anzeigen
- FileUploadDialogBasicView.java
Verschieben hochgeladener Dateien
Standardmäßig speichert webforJ hochgeladene Dateien in einem temporären Ordner, der regelmäßig gereinigt wird. Wenn Sie die Datei nicht anderswo 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 sanitisierte Version des Namens der hochgeladenen Datei zu erhalten. Diese Methode hilft, Sicherheitsrisiken wie Verzeichnistraversierungsangriffe 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 zu begrenzen, die für das Hochladen ausgewählt werden können. Sie können 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 überprüft 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 eine serverseitige Validierung implementieren, um sicherzustellen, dass die hochgeladenen Dateien den Anforderungen Ihrer Anwendung entsprechen.
Maximale Größe
Es ist möglich, die maximale Dateigröße für Uploads festzulegen, um sicherzustellen, dass Benutzer keine Dateien hochladen, die zu groß sind, um von Ihrer Anwendung verarbeitet zu werden. Dies kann mit der Methode setMaxFileSize(long maxSize) konfiguriert werden, wobei maxSize in Byte angegeben wird.
dialog.setMaxFileSize(2 * 1024 * 1024); // Setze die maximale Größe auf 2 MB
Internationalisierung (i18n)
Die Titel, Beschreibungen, Beschriftungen und Nachrichten innerhalb der Komponente sind vollständig anpassbar, indem die Klasse FileUploadI18n verwendet wird. Diese Flexibilität ermöglicht es Ihnen, die Dialogoberfläche an spezifische Lokalisierungsanforderungen oder Personalisierungsvorlieben anzupassen.
FileUploadDialog dialog = new FileUploadDialog("Datei hochladen");
FileUploadI18n i18n = new FileUploadI18n();
i18n.setUpload("Hochladen");
i18n.setCancel("Stornieren");
dialog.setI18n(i18n);
UploadedFile result = dialog.show();
Best Practices
- Klarheit und Prägnanz: Stellen Sie sicher, dass die Eingabeaufforderung klar erklärt, was der Benutzer hochladen soll.
- Angemessene Filter: Setzen Sie Dateifilter, die den erforderlichen Dateitypen entsprechen, um sicherzustellen, dass die Benutzer relevante Dateien hochladen.
- Logische Anfangsverzeichnisse: Legen Sie Anfangsverzeichnisse fest, die den Benutzern einen nützlichen Ausgangspunkt für ihre Dateiauswahl bieten.
- Einschränkung der Verzeichnisnavigation: Beschränken Sie den Dialog bei Bedarf auf ein bestimmtes Verzeichnis, um zu verhindern, dass Benutzer nicht autorisierte Bereiche durchsuchen.
- Konsistente Gestaltung: Richten Sie die Themen des Dialogs und des Upload-Felds nach dem Design Ihrer Anwendung aus, um ein kohärentes Benutzererlebnis zu gewährleisten.
- Übermäßige Nutzung minimieren: Verwenden Sie Datei-Upload-Dialoge sparsam, um Benutzerfrustration zu vermeiden. Reservieren Sie sie für Aktionen, die spezifische Benutzer-Datei-Uploads erfordern.