|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Aug 2005
Messaggi: 90
|
Applet e upload immagine a server
Ciao a tutti
Premetto che è da poco che lavoro in Java e son tre giorni che non riesco a cavarne piede su un problema. Allora: vorrei creare un'applet che, una volta caricata dinamicamente un immagine dal disco tramite il pulsante sfoglia(tag <input type=file) e una volta visualizzata tale immagine in un tag image usando seplicemente il javascript, possa, tramite l'applet, effettuare alcune trasformazioni su di essa e poi(e questo che in particoalre mi interessa saper fare) poterla inviare ad una pagina php sul server per essere poi archiviata. Spero di essermi spiegato bene. In poche parole come posso fare l'upload di in oggetto immagine visualizzato nella pagina non inviando il file immagine caricato e ne modificando tale file originale ma inviando il risultato delle operazioni su di essa . Devo in qualche modo usare i socket? Mi potreste dare un aiutino? :-) |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Il tag <input> con tipo "file" serve per selezionare un file, ma in genere lo si usa all'interno di un <form> per fare l'upload tramite "POST" del file verso un URL che fa riferimento ad uno script in un qualche linguaggio server-side. Amesso di firmare digitalmente l'applet, non sarebbe nemmeno necessario mettere un tag <input> per il file. Con Java puoi usare la classe JFileChooser per selezionare un file e poi lo apri con le classi per l'I/O.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Aug 2005
Messaggi: 90
|
Ciao Andbin, ti ringrazio per essere intervenuto.
Cerco di chiarire le mie intenzioni :-) intendo usare il pulsante sfoglia in quanto con questo non incappo nelle restrizioni di accesso al file system (non so se lo stesso vale per JFileChooser). Ora quello che voglio capire è che una volta che con sfoglia trovo la path del file immagine, potrei dinamicamente (con javascript o suppongo anche con java) visualizzare un anteprima di essa su un box della stessa pagina web. Sempre con una applet posso effettuare modifiche(trasformazioni ad esempio resize) on fly alla stessa immagine visualizzando istantaneamente il risultato.Tutto questo penso si possa fare...correggetemi se sbaglio. Ora mi chiedo se possa uploudare verso un server remoto quest'immagine visualizzata nel box tramite qualche metodo in java. Insomma fare un trasferimento dati su quest'oggetto presente nella box immagine con le trasformazioni ottenuto fino a quell'istante. ![]() |
![]() |
![]() |
![]() |
#4 | ||||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Ma se stiamo parlando di Java è un altro conto: se la applet non è firmata allora non puoi usare JFileChooser, non puoi aprire file locali per la lettura/scrittura. Quote:
Codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Sfoglia file</title> <script type="text/javascript"> <!-- function visualizza () { f = document.form1; document.getElementById("image1").src = "file:///" + f.file1.value; } //--> </script> </head> <body> <form name="form1" action="" method=""> <p> Sfoglia file <input name="file1" type="file"> </p> <p> <input type="button" value="Visualizza" onclick="visualizza()"> </p> </form> <img id="image1" src=""> </body> </html> Quote:
Quote:
Per mandarla da Java sul server, non dovrebbero esserci problemi. P.S.: la soluzione ottimale comunque è quella di firmare la applet e usare JFileChooser. ![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||||
![]() |
![]() |
![]() |
#5 | ||||
Member
Iscritto dal: Aug 2005
Messaggi: 90
|
:-)
Quote:
Quote:
![]() Quote:
![]() ![]() Quote:
Ah dimenticavo...grazie per la tua disponibilità Ultima modifica di Emiliano^^ : 25-08-2006 alle 16:28. |
||||
![]() |
![]() |
![]() |
#6 | ||
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Inoltre devi usare il protocollo HTTP e Java è un po' carente su questo punto. Per il protocollo HTTP puoi usare delle librerie di terze parti: esempio la HttpClient del progetto Apache Jakarta, vedi <qui>. Per il resto, dovresti fare qualche ricerca.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:27.