Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    upload di un file

    Ciao a tutti,
    sto utilizzando la libreria apache jakarta commons per l'upload di file.
    Ho scritto il seguente blocco di codice:

    codice:
    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    List items = upload.parseRequest(request);
    Iterator itr = items.iterator();
    
    while(itr.hasNext()) {
    FileItem item = (FileItem) itr.next();
    
    if(!item.isFormField()) {
    
    fullFile  = new File(item.getName());
    
    File savedFile = new File(getServletContext().getRealPath("/")+"pdf", fullFile.getName());
    
    item.write(savedFile);
    però non ottengo alcun risultato.

    Cosa manca?
    Non ci sono Queen senza Freddie !

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    sarei curiosa di conoscere questo path

    codice:
    File savedFile = new File(getServletContext().getRealPath("/")+"pdf", fullFile.getName());
    RTFM Read That F*** Manual!!!

  3. #3
    In effetti era proprio lì il problema!

    Ho cambiato e ho messo un percorso del tipo "c:\\upload\\nomefile" e adesso funziona
    Non ci sono Queen senza Freddie !

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    attento che il file che salvi dopo l'upload (lo salva il server) deve essere in un contesto accessibile al server, non un path assoluto sulla macchina
    RTFM Read That F*** Manual!!!

  5. #5
    quindi? devo mettere il percorso come:

    getServletContext().getRealPath("/")+"upload\\"+nomefile ?

    Uso il costruttore della classe File con un solo parametro, perché quello che avevo usato inizialmente non ho ancora ben capito come funziona, avevo solo fatto un copia e incolla dal sito della apache-commons
    Non ci sono Queen senza Freddie !

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    devi ricordarti che dal contesto del server non è detto che tu abbia accesso al resto, in genere si fa una cartella tmp dentro il contesto del server in cui si salvano i file.
    In parole povere, non è detto che dal contesto del server tu possa scrivere su C: (in genere è vietato)
    Per i costruttori, vai a vedere la javadoc su File
    RTFM Read That F*** Manual!!!

  7. #7
    Si ok, comunque in questo caso mi serve solo testarlo in locale, quindi come dovrei mettere il percorso?...io sto lavorando con netBeans e tomcat come webserver
    Non ci sono Queen senza Freddie !

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    lo puoi mettere come lo avevi messo quando hai detto che funzionava, io ti sto avvisando di un problema che avrai quando passi in produzione e di una cosa fondamentalmente scorretta, indicandoti un paio di vie per uscirne (crea una tmp nel contesto del server).
    Programmando web application presumo che queste cose tu le sappia.
    Sta sicuro inoltre che adesso questo codice è solo per test, ma lo sai funzionante e non lo andrai a modificare
    RTFM Read That F*** Manual!!!

  9. #9
    Beh si dovrei saperle, ste cose!

    Grazie per l'aiuto
    Non ci sono Queen senza Freddie !

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.