Newsgroup: it.comp.java
Titolo: Spedire immagine da applet a server remoto

Il problema che devo affrontare lo trovate tutto
nel subject: ho un'applet che sta girando in cui
c'e' un'immagine (oggetto di tipo Image) e devo
spedire al server da cui ho scaricato l'applet 
proprio questo oggetto.
Quindi mi trovo davanti ad un bivio:
1) mi faccio un'applicazione lato server che ascolta
su di una porta e riceve una connessione dall'applet, 
quindi scrive sul disco l'immagine in questione
2) spedisco una email dall'applet al server con in attach l'immagine
Io vedo dei problemi per quanto riguarda il punto 2, sulla codifica
dell'immagine, cioe' dovrei scrivermi una classe che si smazza
la codifica MIME e crea l'email, ectect.
Ed in effetti implementando la soluzione al punto 1 questi
problemi li eviterei immediatamente, ma e' anche vero
che a questo punto mi dovrei scrivere un'applicazione in piu', 
mi dovrei creare un protocollo, dovrei controllare i problemi di
concorrenza, etcetc
Insomma, io vedo meglio la 1, ma ho paura per quanto riguarda la codifica
e tutto il resto.
L'applet DEVE girare su tutti i browser (quindi sono ancorato al jdk1.0.2
o 1.1) e DEVE EVITARE di scaricare plugin il piu' possibile (a meno che
il plugin in questione non sia di piccole dimensioni).
Qualcuno di voi ha mai usato le JavaMail? Se si come funzionano?
Conoscete classi che si fanno la codifica MIME?
Ok, qualsiasi tipo di suggerimento, idea, insulto o augurio e'
ben accetto! =)
Aspetto il vostro parere con ansia. =)
-- 
Paolo
Visit the Italian FreeBSD User Group Site: 
www.gufi.org

 2) spedisco una email dall'applet al server con in attach l'immagine
C'č javax.mail (per gli amici JavaMail) e funziona proprio bene, ma non so
come si comporti su un'applet (Gira dall'1.1.6, se non mi sbaglio).

Io adotterei la soluzione 1, usando un dialogo con il server mediato da una servlet. In
particolare, io ho sviluppato un middleware (vabbe', esagero) chiamato GMI che serve
proprio a quello, ovvero a fare parlare applet con oggetti remoti mediante servlet, e che
do' via gratis :-D
Lo trovi, assieme alla documentazione, sul mio sito:
http://members.xoom.it/bbruno/gmi.html
Come funziona l'accrocchio? Mi cito:
"L'utente non deve fare altro che scrivere un'interfaccia Java che descriva il
comportamento di un oggetto remoto e della relativa implementazione: un compilatore (gmic)
provvede poi, partendo dall'interfaccia, a generare un proxy ed una servlet: il primo deve
essere usato sul client, implementa l'interfaccia di partenza e deve essere usato in vece
dell'implementazione, che viene installata sul web server: ogni chiamata effettuata sul
proxy viene trasformata in una richiesta HTTP ed inviata alla servlet: quest'ultima invoca
il metodo corretto sull'implementazione e ritorna il risultato, sempre sullo stream HTTP,
al proxy"
In sostanza, molto simile ad RMI: se mai l'hai usato, ti ci ritrovi. E questa soluzione
funziona felicemente in JDK 1.1 (e quindi su tutti i browser, afaik) e non richiede alcun
plugin: semplicemente pochi k di classi.
Quindi, io semplicemente farei in modo che l'applet traducesse l'immagine in un array di
byte (non mi sembra che Image sia serializzabile) e quindi la spedissee ad un oggetto
remoto sul server, che la ricompone e la registra dove ti pare.
Scusa ma devo scappare, una riunione incombe! Se hai bisogno di altre info, fatti sentire
sul NG.
Ciao,
    Bruno.


|
| Bruno Bossola
| A Java Software Engineer :-)
| 
http://bbruno.fasturl.it
|
| 
http://members.xoom.it/bbruno
| 
http://digilander.iol.it/bbossola
|