Visualizzazione dei risultati da 1 a 10 su 12

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Pippozzo Visualizza il messaggio
    Secondo te va bene se opero così :

    codice:
            InputStream inputStream = dataSource.getInputStream();
            
            InputStream is = MimeUtility.decode(inputStream,"base64" ); //decodifico il flusso
            FileWriter w=new FileWriter(dataSource.getName());
            BufferedWriter bw = new BufferedWriter (w);
            //Leggo l'inputStream decodificato
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader reader = new BufferedReader(isr);
            String line="";
            
            //Operazione di lettura
            while((line=reader.readLine())!=null)    {
                bw.write(line);
                bw.write ('\n');
                bw.flush();
            }
    No assolutamente, il PDF è un file "binario", quindi non devi leggere "caratteri" o "linee". Usa FileOutputStream e leggi/scrivi a blocchi di byte sfruttando un byte[] di "buffer" di dimensione scelta da te (es. 1024).
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    48
    Quote Originariamente inviata da andbin Visualizza il messaggio
    No assolutamente, il PDF è un file "binario", quindi non devi leggere "caratteri" o "linee". Usa FileOutputStream e leggi/scrivi a blocchi di byte sfruttando un byte[] di "buffer" di dimensione scelta da te (es. 1024).
    Rivedendo meglio la libreria che uso : javax.activation, potrei fare così :

    DataHandler handler =pdfDocument.value;
    DataSource dataSource = handler.getDataSource();
    File f = new File(dataSource.getName());
    FileOutputStream w =new FileOutputStream (f);
    handler.writeTo(w);

    dove il metodo writeTo retrieves the InputStream and copies the bytes from the InputStream to the OutputStream passed in.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Pippozzo Visualizza il messaggio
    FileOutputStream w =new FileOutputStream (f);
    handler.writeTo(w);
    Se scrive i byte "crudi" dello stream dell'allegato (e non la codifica base64), allora è ok. Ricordati solo di fare il close di FileOutputStream, perché writeTo sicuramente non lo fa.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    48
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Se scrive i byte "crudi" dello stream dell'allegato (e non la codifica base64), allora è ok. Ricordati solo di fare il close di FileOutputStream, perché writeTo sicuramente non lo fa.
    Ok, perfetto allora..ti ringrazio, sei stato molto gentile

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    48
    Quote Originariamente inviata da Pippozzo Visualizza il messaggio
    Rivedendo meglio la libreria che uso : javax.activation, potrei fare così :

    DataHandler handler =pdfDocument.value;
    DataSource dataSource = handler.getDataSource();
    File f = new File(dataSource.getName());
    FileOutputStream w =new FileOutputStream (f);
    handler.writeTo(w);

    dove il metodo writeTo retrieves the InputStream and copies the bytes from the InputStream to the OutputStream passed in.
    perchè pdfDocument.value è null ??
    cioè è il pdf che mi ritorna il servizio, ma è sempre null ? C'è qualcosa che sbaglio? non riesco a capire

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Pippozzo Visualizza il messaggio
    perchè pdfDocument.value è null ??
    Cos'è l'oggetto pdfDocument?
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    48
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Cos'è l'oggetto pdfDocument?
    è un oggetto di tipo com.ibm.ws.webservices.engine.types.holders.DataHa ndlerHolder, mentre pdfDocument.value ritorna l'oggetto DataHandler da cui poi dovrei stampare il pdf..

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    48
    Quote Originariamente inviata da Pippozzo Visualizza il messaggio
    è un oggetto di tipo com.ibm.ws.webservices.engine.types.holders.DataHa ndlerHolder, mentre pdfDocument.value ritorna l'oggetto DataHandler da cui poi dovrei stampare il pdf..
    Credo che il problema sia nella configurazione dell'handler, in cui non riesco ad agganciare l'allegato..mi potresti aiutare?

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.