File Upload
FileUploadDialog on modaalinen dialogi, joka on suunniteltu sallimaan käyttäjän ladata tiedostoja paikalliselta tiedostojärjestelmältään. Dialogi estää sovelluksen suorittamisen, kunnes käyttäjä valitsee ladattavat tiedostot tai sulkee dialogin.
Käytöt
FileUploadDialog tarjoaa tavan valita ja ladata tiedostoja, mikä mahdollistaa käyttäjien lähettää asiakirjoja, kuvia tai muita sovelluksen vaatimuksia vastaavia tiedostotyyppejä. Käytä showFileUploadDialog() näyttämään dialogi ja tallentaaksesi ladatun tiedoston.
UploadedFile result = OptionDialog.showFileUploadDialog("Lataa tiedosto");
Tulos
FileUploadDialog palauttaa UploadedFile -objektin, joka sisältää tietoja ladatusta tiedostosta, kuten sen nimen, koon ja sisällön. Jos käyttäjä sulkee dialogin ilman tiedoston valitsemista, tulos on null.
Saatu merkkijono palautetaan show()-metodista tai vastaavasta OptionDialog-metodista, kuten alla on esitetty.
Näytä koodi
- Java
Ladattujen tiedostojen siirtäminen
Oletusarvoisesti webforJ tallentaa ladatut tiedostot väliaikaiseen kansioon, jota siivotaan säännöllisesti. Jos et siirrä tiedostoa muualle, se poistetaan. Tiedoston siirtämiseksi käytä move-metodia ja määritä kohdepoli.
UploadedFile uploadedFile = OptionDialog.showFileUploadDialog("Valitse ladattava tiedosto");
try {
File file = uploadedFile.move("my/full/path/" + uploadedFile.getSanitizedClientName());
// ... tee jotain tiedoston kanssa
} catch (IOException e) {
// käsittele poikkeus
}
Käytä getSanitizedClientName -metodia saadaksesi puhdistetun version ladatun tiedoston nimestä. Tämä menetelmä auttaa estämään tietoturvariskit, kuten hakemistorakenteen hyökkäykset tai virheelliset merkit tiedostonimissä, varmistaen tiedostojärjestelmäsi eheyden ja turvallisuuden.
Suodattimet
FileUploadDialog sallii sinun asettaa suodattimia rajoittaaksesi ladattavien tiedostojen tyyppejä. Voit määrittää suodattimia käyttämällä setFilters(List<FileChooserFilter> filters) -metodia.
FileUploadDialog dialog = new FileUploadDialog(
"Lataa tiedosto",
Arrays.asList(new FileChooserFilter("Tekstitiedostot", "*.txt")));
UploadedFile result = dialog.show();
Palvelin ei validoi ladattua tiedostoa suodattimien mukaan. Suodattimia sovelletaan vain käyttöliittymässä käyttäjän valinnan ohjaamiseksi. Sinun on toteutettava palvelinpuolen validointi varmistaaksesi, että ladatut tiedostot täyttävät sovelluksesi vaatimukset.
Maksimikoko
On mahdollista asettaa maksimi tiedostokoko ladattaville tiedostoille varmistaaksesi, että käyttäjät eivät lataa liian suuria tiedostoja sovelluksellesi. Tämä voidaan määrittää käyttämällä setMaxFileSize(long maxSize) -metodia, jossa maxSize on määritelty tavuina.
dialog.setMaxFileSize(2 * 1024 * 1024); // Aseta maksimi koko 2 MB
Kansainvälistäminen (i18n)
Komponentin otsikot, kuvaukset, tunnisteet ja viestit ovat täysin mukautettavissa käyttämällä FileUploadI18n -luokkaa. Tämä joustavuus mahdollistaa dialogin käyttöliittymän säätämisen erityisten lokalisointivaatimusten tai henkilökohtaisten mieltymysten mukaiseksi.
FileUploadDialog dialog = new FileUploadDialog("Lataa tiedosto");
FileUploadI18n i18n = new FileUploadI18n();
i18n.setUpload("Lataa");
i18n.setCancel("Peruuta");
dialog.setI18n(i18n);
UploadedFile result = dialog.show();
Parhaat käytännöt
- Selkeät ja ytimekkäät kehottavat viestit: Varmista, että kehottava viesti selkeästi selittää, mitä käyttäjältä pyydetään lataamaan.
- Sopivat suodattimet: Aseta tiedostosuojaimia, jotka vastaavat vaadittuja tiedostotyyppejä varmistaaksesi, että käyttäjät lataavat asiaankuuluvia tiedostoja.
- Loogiset alkuperäiset polut: Aseta alkupolut, jotka tarjoavat käyttäjille hyödyllisen lähtökohdan tiedostovalintaan.
- Rajoita hakemistorakenteen navigointia: Rajoita dialogi tiettyyn hakemistoon tarpeen mukaan estääksesi käyttäjiä navigoimasta luvattomille alueille.
- Johdonmukainen teema: Sovita dialogin ja latauskentän teemat sovelluksen ulkoasuun yhtenäisen käyttäjäkokemuksen saavuttamiseksi.
- Vähennä liikakäyttöä: Käytä tiedoston latausdialogeja säästeliäästi käyttäjäärsytyksen välttämiseksi. Varaa ne toimenpiteille, jotka vaativat erityisiä käyttäjän tiedostolatauksia.