Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    5

    [JSP] Problema di path nella creazione di un file

    Salve, ho il seguente problema in una pagina JSP: voglio creare un file pdf per poi renderlo scaricabile tramite link dalla stessa pagina. Il problema è che non capisco dove venga creato il file quando gli assegno un percorso relativo. Ho provato con un percorso assoluto e il file viene creato correttamente ma ovviamente all'interno della mia applicazione web ho bisogno di un riferimento di tipo relativo.
    Come ambiente di sviluppo uso Eclipse Helion con server Tomcat 7.
    In seguito espongo il codice semplificato con la scrittura di un file di testo
    codice:
    <%@page import="java.io.File"%>
    <%@page import="java.io.FileOutputStream"%>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>stampa file</title>
    </head>
    <body>
    <h1>Stampa PDF</h1>
    <%
    	File file = new File("myfile.txt");
    	FileOutputStream os = new FileOutputStream(file);
    	os.write("HELLO WORLD".getBytes());
    	os.close();
    %>
    pdf di prova
    Torna al menu
    </body>
    </html>
    Il file si trova nella cartella WebContent del progetto.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    allora i test li fai su localhost (suppongo), non so se ti è chiaro che i file vengono creati lato server (sul computer che ospita il server) in questo caso coincidente con il client.
    Quindi in generale la miglior cosa per fare questo lavoro è usare cartelle che sicuramente hai a disposizione

    1. tmp di sistema
    2. una cartella filepdf che crei all'interno della tua webapplication (e a quella devi riferirti).

    Attualmente tomcat fa il deploy in una cartella temporanea (che trovi dentro .metadata e via dicendo dentro eclipse).

    Una volta creato il file non dovrebbe essere un grosso problema imporre il dowload

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    anzi a meno che non vuoi memorizzare il pdf che scarica ogni utente (per log o quello che vuoi) la tmp di sistema per me è la soluzione migliore

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    5
    Per prima cosa grazie per il tuo aiuto valia. Sto sviluppando su localhost e la soluzione che avevo in mente è la seconda a cui hai accennato, cioè creare una cartella con un file per ogni utente, la gestione di questo è un problema che affronterò più avanti.

    Attualmente tomcat fa il deploy in una cartella temporanea (che trovi dentro .metadata e via dicendo dentro eclipse)
    Ok ho trovato la cartella dove vengono creati i file temporanei in tomcat e il file viene creato correttamente, solo che per farlo scaricare non capisco con che path del server raggiungerlo (http://localhost:8080/???)

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    se fai una servlet che fa il download è semplice, ci sono un sacco di esempi funzionanti se cerchi con servlet java download file.
    In pratica ad ogni download fai un'action che ripesca il file e te lo prepara per il download. a memoria non lo ricordo il codice, ma l'ho trovato in questo modo

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    5
    Ok ho fatto un po' di prove con una Servlet di download e riesco a recuperare e far scaricare correttamente il file pdf generato nella cartella temporanea, e tramite il metodo
    codice:
    file.getAbsolutePath()
    riesco ad avere il riferimento corretto al file. Grazie mille per l'aiuto.

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.