Differenze tra le versioni di "Scaricare un'immagine da un sito internet"

Da Gambas-it.org - Wikipedia.
 
Riga 1: Riga 1:
Di seguito vedremo tre possibilità per scaricare dal WEB file immagini:
+
#redirect[[Scaricare_una_immagine_da_un_sito_internet]]
<BR>- la prima utilizza le <SPAN style="text-decoration:underline">sole</span> funzioni e risorse di Gambas;
 
<BR>- la seconda utilizza anche il codice html;
 
<BR>- la terza utilizza il comando ''Shell'' ed il programma ''wget''.
 
 
 
 
 
 
 
==Usando le sole risorse e funzioni di Gambas==
 
L'esempio |[[#Note|1]]| prevede il posizionamento sul Form di una ''PictureBox'', di un ''Button'' e di una ''Label'', nonché l'impostazione anche dei componenti: ''gb.net'' e ''gb.net.curl'' :
 
Private myhttp As New HttpClient As "myhttp" 
 
Private stringa As String
 
 
 
'''Public''' Sub Button1_Click()
 
 
<FONT color=#006400>' ''invia_richiesta al server per scaricare il file immagine:''</font> |[[#Note|'''2''']]|
 
  myhttp.URL = "www.indirizzo.del.file.immagine.da.scaricare"
 
   
 
  myhttp.Timeout = 15 
 
  myhttp.Get()
 
     
 
'''End''' 
 
   
 
 
'''Public''' Sub myhttp_Read() 
 
     
 
Dim sBuf As String 
 
     
 
<FONT color=#006400>' ''Andiamo a leggere il flusso di dati del file immagine:''</font>
 
    If Lof(MyHTTP) Then 
 
      Read #MyHTTP, sBuf, Lof(MyHTTP)
 
      stringa = stringa & sBuf
 
    End If
 
 
'''End'''
 
 
 
'''Public''' Sub MyHTTP_Finished() 
 
     
 
  Label1.Text = ("Immagine scaricata !") 
 
       
 
  Wait 
 
         
 
 
  MyHTTP.Close 
 
             
 
 
<FONT color=#006400>' ''Ricreiamo il file:''</font> |[[#Note|3]]|
 
  File.Save("percorso_del_file_ricreato", stringa)
 
 
 
<FONT color=#006400>' ''Carichiamo nella "PictureBox" il file immagine ricreato:''</font>
 
  PictureBox1.Picture = Picture["percorso_del_file_ricreato"]
 
 
'''End'''
 
 
 
 
 
==Utilizzo del codice HTML==
 
Si potrà effettuare il collegamento ad un file immagine richiamandolo:
 
 
 
a) da un'oggetto che permette l'utilizzo del [[Controlli_e_finestre_che_supportano_il_codice_HTML|codice html]]:
 
'''Public''' Sub Button1_Click()
 
 
    Message.Info("<A HREF=\"http:/&#047;indirizzo_web_dell'_immagine_da_mostrare\">Clicca qui per vedere l'immagine</a>")
 
 
'''End'''
 
In questo caso, però, l'immagine sarà aperta e mostrata nel proprio webbrowser. |[[#Note|4]]|
 
 
 
 
 
b) da un oggetto specifico, che supporta il codice html, come la [[Controlli_e_finestre_che_supportano_il_codice_HTML#L.27oggetto_WebView|''WebView'']]. In tal caso è necessario attivare, come si sa, anche il componente ''gb.qt4.webkit:
 
'''Public''' Sub Form_Open() 
 
 
 
  WebView1.Html = "<HTML><A HREF='&#104;ttp://www.indirizzo_web_immagine'>Collegamento ipertestuale con l'immagine da mostrare.</a></html>" 
 
 
 
'''End'''
 
Nella ''WebView'' verrà mostrato il testo, sul quale si dovrà cliccare per far apparire l'immagine.
 
 
 
 
 
Se si vuole far apparire l'immagine direttamente, senza dover cliccare su un ipertesto, allora il codice sarà il seguente:
 
'''Public''' Sub Form_Open() 
 
 
 
  WebView1.Html = "<HTML><IMG SRC='&#104;ttp://www.indirizzo_web_immagine'>Eventuale testo</img></html>" 
 
 
 
'''End'''
 
 
 
 
 
==Usando ''Shell'' ed il comando ''wget''==
 
 
 
Nell'esempio che segue sul Form del programma saranno posti semplicemente una ''PictureBox'' ed un ''Button''. Scaricheremo un'immagine da un sito internet mediante ''<FONT color=#B22222>wget</font>'' (che sarà lanciato nel nostro programma mediante il comando ''Shell''), e successivamente la caricheremo nella ''PictureBox'':
 
'''Public''' Sub Button1_Click()
 
 
<FONT color=#006400>' ''Scarichiamo l'immagine dal sito web:''</font>
 
  Shell "wget http:/&#047;indirizzo_web_dell'_immagine_da_scaricare --directory-prefix percorso_ove_sarà_scaricata" Wait |[[#Note|5]]|
 
 
 
<FONT color=#006400>' ''Carichiamo l'immagine nella PictureBox:''</font>
 
  PictureBox1.Picture = Picture["percorso_ove_l'immagine_è_stata_scaricata"]
 
 
'''End'''
 
 
 
 
 
 
 
==Note==
 
[1] L'esempio è tratto con alcune modifiche da altro esempio realizzato dall'utente ''fsurfing'' del Forum ''Gambas-it.org''.
 
 
 
[2] In vero, con questa metodo è possibile scaricare qualsiasi tipo di file.
 
 
 
[3] E' possibile ricreare ''utilmente'' con questo metodo qualsiasi tipo di file.
 
 
 
[4] In questo caso sarà possibile soltanto ''utilizzare'' il file (dunque trattandosi di file immagine, <SPAN style="text-decoration:underline">visualizzarla</span>), al quale ci si è collegati via internet, e non sarà possibile direttamente ottenerne una copia indipendente da salvare.
 
 
 
[5] Se si vuole inserire l'immagine in una nuova cartella da creare, questa deve essere aggiunta alla fine del pecorso ove si intende scaricare il file:
 
--directory-prefix /percorso/nuova_cartella
 

Versione attuale delle 08:57, 25 apr 2020