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

    [JAVA] Applet per download di file

    Ciao a tutti.
    Vorrei fare una java applet da associare ad un file html contenente una decina link a file pdf. Ora l'applet dovrebbe presentare un semplice bottone che al click mi fa il download di tutti i file presenti nella pagina. (Non va bene puntare ad un'archivio zip perchè non posso caricare altri file).
    Vi è mai capitata sotto gli occhi una cosa del genere? Qualche idea?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    A parte che Java ha un forum dedicato, dove sposterò la discussione.

    Le problematiche principali sono sostanzialmente 2:

    1) DOVE dovrebbe scaricare questi file? (deve chiedere per ciascuno o deve scaricarli tutti nello stesso posto)?

    2) Se è l'applet che deve scrivere il file sul client, essa deve avere accesso al File System e per fare questo necessita di una firma digitale. Intendi proseguire su questa strada o cambiare approccio?


    Nel frattempo sposto la discussione.



    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3

    Re: Moderazione

    Grazie per la risposta!

    Originariamente inviato da LeleFT
    1) DOVE dovrebbe scaricare questi file? (deve chiedere per ciascuno o deve scaricarli tutti nello stesso posto)?
    Dovrebbe scaricarli tutti nello stesso posto, in una cartella sull'hard disk. Al limite se fosse possibile, potrebbe far scegliere quali scaricare, per esempio con una check box: quelli selezionati li scarico nella mia cartella.

    2) Se è l'applet che deve scrivere il file sul client, essa deve avere accesso al File System e per fare questo necessita di una firma digitale. Intendi proseguire su questa strada o cambiare approccio?
    Beh, se non comporta problemi di sorta potrebbe andar bene, ma cmq preferirei prendere la strada con meno complicazioni, ecco perchè vi chiedo consiglio!

    Ciao!

  4. #4
    Help me...

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: Re: Moderazione

    [QUOTE]Originariamente inviato da electrolite84
    Grazie per la risposta!

    Dovrebbe scaricarli tutti nello stesso posto, in una cartella sull'hard disk. Al limite se fosse possibile, potrebbe far scegliere quali scaricare, per esempio con una check box: quelli selezionati li scarico nella mia cartella.
    Tutti nello stesso posto... nella tua cartella... cioè, dove? Chi decide in quale cartella salvare?

    Beh, se non comporta problemi di sorta potrebbe andar bene, ma cmq preferirei prendere la strada con meno complicazioni, ecco perchè vi chiedo consiglio!

    Ciao!
    Se intendi procedere su questa strata, quindi, prendi visione di questo tutorial su come firmare un'applet.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6

    Re: Re: Re: Moderazione

    Originariamente inviato da LeleFT
    Tutti nello stesso posto... nella tua cartella... cioè, dove? Chi decide in quale cartella salvare?
    Può andarmi bene anche una cartella decisa dall'applet, per esempio "c:\" . Oppure, se non è complicatissimo, potrebbe farmi scegliere la destinazione..

    Se intendi procedere su questa strata, quindi, prendi visione di questo tutorial su come firmare un'applet.


    Ciao.
    Grazie per questo link, me lo leggo subito..

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ok.
    Posto che il percorso in cui salvare il file deciderai tu come ottenerlo (fisso, da chiedere all'utente tramite textbox, da chiedere tramite JFileChooser, ...) alla fine avrai una stringa o un oggetto File che rappresenta il percorso di destinazione (nell'esempio qui sotto è una stringa che rappresenta un percorso, quindi terminata dal separatore di percorso).

    Non ti rimane altro da fare che leggere, a blocchi di N bytes (deciderai tu quanti byte alla volta), la risorsa che c'è sul server (il tuo file) e scriverlo quindi nel file system dell'utente.

    codice:
    String doveSalvare = ...;      // Qui avrai il percorso in cui salvare (che sarà terminato dal separatore di percorso)
    String nomeDelFile = ...;      // Questo sarà il nome del file da creare
    byte[] buffer = new byte[N];   // Il famoso blocco di N bytes
    
    // Questo sarà l'URL del tuo file da salvare (quello presente sul server)
    URL risorsa = new URL("http://www.tuosito.it/percorso/al/file/sul/server");
    
    // Ottengo lo stream di input della risorsa
    InputStream input = risorsa.openStream();
    
    // Creo il file sul disco dell'utente
    FileOutputStream output = new FileOutputStream(doveSalvare + nomeDelFile);
    int byteLetti = 0;
    while((byteLetti = input.read(buffer)) >= 0) {
       output.write(buffer, 0, byteLetti);
       output.flush();
    }
    
    // Chiudo il file sul disco dell'utente
    output.close();
    
    // Chiudo la risorsa sul server
    input.close();
    Chiaramente vanno gestite le eccezioni, che qui ho tralasciato.
    Alla fine di questa operazione potresti visualizzare un messaggio all'utente per informarlo dell'avvenuto salvataggio.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Grazie di tutto, mi hai dato uno bello spunto da cui partire!!


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.