Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: download txt file

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    76

    download txt file

    buongiorno a tutti.....ho il seguente problema:

    devo fare in modo che un utente alla pressione di un bottone/link possa effettuare il download di un file di testo (ASCII)(con estensione variabile).

    Ho provato diverse soluzioni ma nel migliore dei casi il browser riconosce il formato (ASCII) e apre il file senza dare la possibilità di scaricarlo.

    qualcuno sa suggerirmi qualche soluzione??

    Ringrazio anticipatamente

    Hola

  2. #2
    Utente bannato
    Registrato dal
    Sep 2009
    Messaggi
    1,737

    Re: download txt file

    Originariamente inviato da HammerOn
    buongiorno a tutti.....ho il seguente problema:

    devo fare in modo che un utente alla pressione di un bottone/link possa effettuare il download di un file di testo (ASCII)(con estensione variabile).

    Ho provato diverse soluzioni ma nel migliore dei casi il browser riconosce il formato (ASCII) e apre il file senza dare la possibilità di scaricarlo.

    qualcuno sa suggerirmi qualche soluzione??

    Ringrazio anticipatamente

    Hola
    La soluzione più semplice è zippare il file da scaricare

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    devi "forzare il download" tramite script con linguaggio dinamico (asp, php...),

    se mi dici che linguaggio vuoi usare ti sposto

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    76
    @Vincent.Zeno
    immagino quindi si faccia tutto lato server.....allora se possibile con java

    @miki003
    si come soluzione l'ho valutata ma non mi sembra molto pulita, preferirei un download diretto del file...ovviamente se questo non fosse possibile prenderei quella strada

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da HammerOn
    @Vincent.Zeno
    immagino quindi si faccia tutto lato server.....allora se possibile con java
    Se intendi dire in una web application che usa Servlet/JSP allora sì, è ovviamente possibile. Bisogna solo vedere se vuoi che tutti i file .txt vengano forzati al download o solo alcuni o solo a certe condizioni. Per quest'ultimo caso ne avevo parlato con un esempio in questa discussione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    76
    dovrei scaricarli tutti, senza nessun filtro

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    76
    ho trovato questa soluzione

    codice:
    response.setContentType("application/octet-stream,");
    		response.addHeader("Content-Disposition: attachment","filename=\""+nomeFile+"\"");
    		
    		OutputStream out = response.getOutputStream();
    		String homePathFile = context.getRealPath("");
    		FileInputStream fis = new FileInputStream(nomeFile);
    		byte[] buffer = new byte[1024];
    		int byteLetti;
    		while((byteLetti = fis.read(buffer)) != -1){
    			out.write(buffer, 0, byteLetti);
    		}		
    		out.flush();
    		out.close();
    		fis.close();
    e finalmente funziona, l'unico problema è che non mi setta il nome del file, il quale prende il nome della servlet :master:
    la seconda riga postata non dovrebbe dire quale nome utilizzare??

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da HammerOn
    dovrei scaricarli tutti, senza nessun filtro
    Allora basta che vai nel DD (web.xml) e associ la estensione txt al mime-type application/octet-stream.

    Non devi scrivere nemmeno 1 riga di codice java ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    76
    I'm came back!
    tra l'altro per lo stesso motivo :master:

    vi ho lasciato l'ultima volta pensando di aver risolto il problema nel seguente modo:

    codice:
    response.addHeader("Content-Disposition","attachment ,filename=\""+nomeFile+"\"");
    		response.setContentType("application/octet-stream");
    		
    		OutputStream out = response.getOutputStream();
    		FileInputStream fis = new FileInputStream(nomeFile);
    		byte[] buffer = new byte[1024];
    		int byteLetti;
    		while((byteLetti = fis.read(buffer)) != -1){
    			out.write(buffer, 0, byteLetti);
    		}
    		
    		out.flush();
    		out.close();
    		fis.close();
    questa soluzione funziona egregiamente in firefox (3.5) ma in explorer, quando si scarica il file, non mi viene visualizzato il nome del file ma un nome "fittizio" (nomeServlet+codice)

    qualcuno ne sa qualcosa?

    Grazie anticipatamente

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La sintassi da usare è la seguente:
    codice:
    response.setContentType("application/octet-stream; name=\"" + nomeFile + "\"");
    response.addHeader("content-disposition", "attachment; filename=\"" + nomeFile + "\"");
    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

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 © 2026 vBulletin Solutions, Inc. All rights reserved.