Siirry pääsisältöön

File Upload

Avaa ChatGPT:ssä
Varjo 24.02
Java API

FileUploadDialog on uusi modaalinen dialogi, joka on suunniteltu sallimaan käyttäjän ladata tiedostoja paikalliselta tiedostojärjestelmältään. Dialogi estää sovelluksen toiminnan, kunnes käyttäjä valitsee ladattavat tiedostot tai sulkee dialogin.

Inline component

Jos haluat tiedoston valitsin, joka renderöidään suoraan sivun asetteluun dialogin sijaan, harkitse Upload komponentin käyttöä.

Usages

FileUploadDialog tarjoaa tavan valita ja ladata tiedostoja, mahdollistaen käyttäjien lähettää asiakirjoja, kuvia tai muita tiedostotyyppejä, joita sovellus tarvitsee. Käytä showFileUploadDialog() näyttämään dialogi ja tallentamaan ladattu tiedosto.

UploadedFile result = OptionDialog.showFileUploadDialog("Lataa tiedosto");

Result

FileUploadDialog palauttaa UploadedFile-objektin, joka sisältää tietoa ladatusta tiedostosta, kuten sen nimen, koon ja sisällön. Jos käyttäjä sulkee dialogin ilman tiedoston valitsemista, tulos on null.

important

Tuloksena oleva merkkijono palautetaan show()-metodista tai vastaavasta OptionDialog-metodista, kuten alla on esitetty.

Näytä koodi

Liikkuvat ladatut tiedostot

Oletusarvoisesti webforJ tallentaa ladatut tiedostot väliaikaiseen kansioon, jota puhdistetaan säännöllisesti. Jos et siirrä tiedostoa muualle, se poistetaan. Tiedoston siirtämiseksi käytä move-metodia ja määritä kohdepolku.

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
}
Sanitized Client Name

Käytä getSanitizedClientName-metodia saadaksesi puhdistettu versio ladatun tiedoston nimestä. Tämä metodi auttaa estämään turvallisuusriskit, kuten hakemistorakenteen läpi kulkemiset tai virheelliset merkit tiedoston nimissä, varmistaen tiedostojärjestelmäsi eheyden ja turvallisuuden.

Suodattimet

FileUploadDialog mahdollistaa suodattimien asettamisen rajataksesi ladattavien tiedostojen tyyppejä. Voit määrittää suodattimet 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();
Suodattimien validointi

Palvelin ei validoi ladattua tiedostoa suodattimien suhteen. Suodattimia käytetään vain käyttöliittymässä käyttäjän valinnan ohjaamiseen. Sinun on toteutettava palvelinpuolen validointi varmistaaksesi, että ladatut tiedostot täyttävät sovelluksesi vaatimukset.

Maksimikoko

On mahdollista asettaa maksimikoko ladattaville tiedostoille varmistaaksesi, että käyttäjät eivät lataa tiedostoja, jotka ovat liian suuria sovelluksesi käsiteltäväksi. Tämä voidaan määrittää käyttämällä setMaxFileSize(long maxSize)-metodia, jossa maxSize ilmoitetaan tavuina.

dialog.setMaxFileSize(2 * 1024 * 1024); // Aseta max-koko 2 MB:ksi

Kansainvälistäminen (i18n)

Komponentin sisällä olevat otsikot, kuvaukset, etiketit ja viestit ovat täysin mukautettavissa käyttämällä FileUploadI18n-luokkaa. Tämä joustavuus mahdollistaa dialogikäyttöliittymän mukauttamisen erityisiin lokalisointivaatimuksiin tai henkilökohtaisiin mieltymyksiin.

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

  1. Selkeät ja tiiviit kehotteet: Varmista, että kehoteviesti selkeästi selittää, mitä käyttäjältä pyydetään lataamaan.
  2. Sopivat suodattimet: Aseta tiedostosuodattimia, jotka vastaavat vaadittuja tiedostotyyppejä varmistaaksesi, että käyttäjät lataavat asiaankuuluvia tiedostoja.
  3. Loogiset aloituspolut: Aseta aloituspolut, jotka antavat käyttäjille hyödyllisen lähtökohdan tiedostovalinnalle.
  4. Rajoita hakemistorakenteen navigointia: Rajoita dialogi tiettyyn hakemistoon tarvittaessa estääksesi käyttäjiä navigoimasta valtuuttamattomiin alueisiin.
  5. Johdonmukainen teema: Yhdistä dialogin ja latauskentän teemat sovelluksesi suunnittelun kanssa yhtenäisen käyttäjäkokemuksen saavuttamiseksi.
  6. Vähennä liiallista käyttöä: Käytä tiedoston latausdialogeja säästeliäästi käyttäjäkärsimyksen välttämiseksi. Varaa ne toimintoihin, jotka vaativat erityisten käyttäjätiedostojen lataamista.