Avatar billede eerikk Nybegynder
07. september 2002 - 21:25 Der er 2 kommentarer og
1 løsning

Få fat på filnavnet

Hej og goddag - jeg har et problem jeg håber nogen kan hjælpe mig med:

Jeg har brug for at uploade en fil fra klient til server. Det gør jeg vha. jspsmartUpload fra jspsmart.com (Som er ganske udemærket). Mit problem er at jeg har brug for enten at få fat i navnet på filen, eller selv at vælge et navn til filen før den gemmes. Det kan jeg ikke! Jeg har forsøgt med en "getParameter" for at få fat på filnavnet, men det virkede ikke... Nu ved jeg ikke hvad jeg skal stille op.

-Erik
Avatar billede bearhugx Nybegynder
07. september 2002 - 22:36 #1
når du bruger jspSmartUpload, så gemmes reqest objektet ikke ordenligt (det laves om, så det kan parses af jspSmartUpload-pakken)

For at læse filnavn, skal du tilgå det via dit upload-objekt

her er noget kode, som viser, hvordan du henter filnavnene ind (pointen er at data skal tilgåes igennem Request-objektet og ikke HttpServletRequest)


    /*
    ** Initialize SmartUpload
    */
    SmartUpload su = new SmartUpload();
    ServletConfig config = servlet.getServletConfig();

    // req og res er HttpServletResponse og HttpServletRequest
    su.initialize(config, req, res);

    try
    {
      /*
      ** Udfør upload-parsing
      */
      su.upload();
      Request sureq = su.getRequest(); // com.jspsmart.upload.Request

      /*
      ** Hent filer
      */
      Files fs = su.getFiles();
      for(int i=0; i<fs.getCount(); ++i) {
        File f = (File)fs.getFile(i);
        System.out.println("got file : "+f.getFileName());
      }
      su.save("/upload");
    } catch (SmartUploadException suEx) {
    }

Håber det bringer dig tættere på løsningen :-)

/Søren Munk Skrøder
Avatar billede eerikk Nybegynder
07. september 2002 - 23:16 #2
Jeg fik fat i filnavnet vha. din kode, men jeg ville foretrække at kunne navngive filen selv, meeeeen du har dog fortjent pointene :o) Mange tak.
Avatar billede bearhugx Nybegynder
07. september 2002 - 23:25 #3
du kan skam nå at navngive filerne inden du gemmer, du skal bare bruge setFileName( String __newName__ ) inden du kalder su.save(String __directory__);


taget fra forrige eksempel ::
----------------------------------

  Files fs = su.getFiles();
      for(int i=0; i<fs.getCount(); ++i) {
        File f = (File)fs.getFile(i);
        System.out.println("got file : "+f.getFileName());

//_________NY KODE_________
        // skifter navn til "NEW_{gammelt_filnavn}"
        f.setFileName("NEW_"+f.getFileName());
//_________NY KODE SLUT____
      }
      su.save("/upload");
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester