Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    120

    visualizzare immagine con ByteArrayOutputStream

    Ho questo problemino: ho su un server degli allegati a dei prodotti che possono essere immagini o files pdf, una chiamata al server mi restituisce le informazioni su questi file come ByteArrayOutputStream.
    Utilizzo bean e jsp.
    Per il pdf è stato abbastanza semplice: ho fatto una action che chiama una nuova pagina del browser e setta la response
    response.setContentType("application/pdf");

    così quando clicco un link al pdf mi apre una pagina nuova e ci visualizza il pdf.
    Ora il mio problema è con le immagini, visto che non vorrei visualizzarle in una pagina nuova ma mostrarle nella pagina principale del prodotto.
    Io pensavo di salvarmi un'immagine temporanea su disco e poi nella jsp aprire questa immagine, però non so come poter salvare l'immagine dallo stream di byte :master:

  2. #2
    L'immagine com'è salvata sul server?
    http://www.anobii.com/isalreadyinuse

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    120
    in jpg, ma è un server sap e la funzione che chiamo per recuperarla me la ritorna come stream di byte

  4. #4
    Se non riesci ad arrivarci come url, devi prentere lo stream lo salvi in un punto ragiungibile e poi punti all'immagine
    http://www.anobii.com/isalreadyinuse

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    120
    sì è quello che vorrei fare mi manca il passaggio da stream a file jpg locale

  6. #6
    codice:
            byte[] imageByteArray = null;
            imageByteArray = [il tuo stream].toByteArray();
    	 
    	httpServletResponse.setHeader("Cache-Control", "no-store");
            httpServletResponse.setHeader("Pragma", "no-cache");
            httpServletResponse.setDateHeader("Expires", 0);
            httpServletResponse.setContentType("image/jpeg");
            ServletOutputStream responseOutputStream =
            httpServletResponse.getOutputStream();
            responseOutputStream.write(imageByteArray);
            responseOutputStream.flush();
            responseOutputStream.close();
    Prova un po..
    http://www.anobii.com/isalreadyinuse

  7. #7
    Funge?
    http://www.anobii.com/isalreadyinuse

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    120
    provato ora! yes funziona, però ora ti rompo ancora un attimino, se posso
    io ho fatto un link sulla jsp che chiama una action che chiama il codice scritto da te passandogli lo stream di byte.
    Perfetto, mi si apre un'altra pagina con l'immagine visualizzata.

    Esiste un modo per fare la stessa cosa senza aprire una nuova pagina e senza salvarsi l'immagine in locale?

    Comunque le due soluzioni (salvarsi immagine in locale/visualizzare immagine in altra finestra) funzionano bene, la mia è pura curiosità
    grazie mille per il tuo aiuto

  9. #9
    basta mettere nel src del tag img l'url che hai usato nell jsp
    http://www.anobii.com/isalreadyinuse

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.