Newsgroup: it.comp.java
Titolo: Visualizzazione immagini su pag. web

Salve
stiamo realizzando delle pagine web per il reporting che contengono
immagini di grafici che vengono generati dinamicamente al momento
della richiesta dell'utente.
Il grafico è generato da una classe che lo salva come file jpg nel
disco, poi nel flusso il nome del file viene passato alla JSP e poi a
un XSL.
Tutto funziona se non per il fatto che il 50% delle volte la pagina
non visualizza l'immagine nonostante essa sia stata creata e nella
pagina web vi sia il corretto URL.
Il motivo più ovvio sta nel fatto che quando il browser tenta di
caricare l'immagine il server non ha ancora finito di scriverla nel
disco (i jpg sono sui 30k). Sottolineo che il problema in locale non
si verifica.
La cosa mi pare cmq strana il codice è ...
.........
namefile = "ChartPoints2_1_" + time.toString() + ".jpg";
Util.writeImageJPG(namefile, bi24, false);
return namefile;
.....
public static synchronized void writeImageJPG(String fileName,
BufferedImage bi24, boolean bool_batch) throws IOException{
    String gifPath = ....
    File file = new File(gifPath, fileName);
    ImageIO.write(bi24, "jpg", file);
    file = null;
  }
significherebbe che il metodo ImageIO.write torna il controllo prima
di aver finito la scrittura!
Avete suggerimenti?
Grazie

 Avete suggerimenti?
Si'...non salvare le immagini in un file, ma inviale direttamente come
risposta. A meno che quei file non ti servano in seguito, ma non mi sembra
il tuo caso.
Lucio
-- 
Lucio Benfante
Java User Group Padova: 
http://www.jugpadova.it
Brainbench MVP for Java 1: 
http://www.brainbench.com
MyTranscript: 
http://www.brainbench.com/transcript.jsp?pid=167064

...


 lo stesso qualcosa?
certo
puoi generare l'immagine "vole'" da una servlet e gliela mandi direttamente
alla pagin
La cosa e0 meno complessa di quanto si possa immaginare
devi solo trovare una libreria(che io ho difficolta' a trovare ora persa in
qualche cd rom)
che "Encoda" la tua immagine e la spara sullo standard output
mentre sulla pagina fai un normale
tag "IMG" con href alla servlet
cerca su google per trovare la libreria e l'esempio
 
  cya Nicola
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio
news:2bd8b330.04091...@posting.google.com...


 richiesta sullo stream.
esattamente cosi', anche se non c'e' necessariamente bisogno di gestire
una cache. La servlet estrae l'immagine dal DB e la manda in output.
Riassumendo:
  1. Nella tua pagina HTML/JSP hai un tag IMG in cui l'attributo src (NB:
  src non href come scritto sopra) fa riferimento non ad un file statico,
  ma ad una servlet.
  2. La suddetta servlet produrra' un output binario (come hai detto tu,
  se l'immagine e' di tipo JPEG, bisognera' impostare il ContentType a
  image/jpeg) recuperando l'immagine dal database e inviandola
  semplicemente in output.
In bocca al lupo


...


...


 
Ops, scusa, avevo confuso il tuo problema con quello descritto in un altro
thread. Si', ovviamente dato che generate il grafico dinamicamente, il DB
non c'entra nulla. Comunque anche la cache non c'entra nulla, a meno che
non dobbiate inviare l' stesso identico grafico piu' volte, e abbiate modo
di riconoscerlo all'interno della cache. Invece di memorizzarlo in
una cache invialo direttamente come output della servlet (meglio se in
maniera bufferizzata).


 ha scritto nel messaggio
news:2bd8b330.04091...@posting.google.com...
