File Download – Codice VB.NET



Categoria dell'articolo: Codice VB.NET

Listati in codice Visual Basic.NET, elaborati o rielaborati e adattati da IngAC con la versione 2015. Funzioni e subroutine varie utili alla creazione di programmi.





Articolo pubblicato da:



Se trovi interessante l'articolo che ti stai accingendo a leggere, metti un mi piace e condividi! Be Social!



File Download: ovvero scaricare un file che si trova online, da un server al nostro pc o a quello dell’utente, tramite codice vbnet.


Introduzione

A volte abbiamo la necessità di scaricare un file che si trova su un server online: ad esempio estrazioni del superenalotto oppure dati metereologici etc. A volte ancora si ha bisogno di un file download per aggiornamenti al nostro software. A questo proposito, la funzione seguente ci potrà dare senz’altro una mano.

Public Function IngAC_FILE_DOWNLOAD(ByVal URL_File As String,
                                        ByVal Percorso_File As String,
                                        Modalita_Errore As Boolean) As Byte
        Try
            Dim Richiesta As Net.HttpWebRequest = Net.HttpWebRequest.Create(URL_File)
            Dim Risposta As Net.HttpWebResponse = Richiesta.GetResponse()
            Dim Reader As IO.Stream = Risposta.GetResponseStream()
            Dim Writer As New IO.FileStream(Percorso_File, IO.FileMode.Create)
            Dim Buffer(8192) As Byte
            Dim BytesRead As Long
 
            BytesRead = Reader.Read(Buffer, 0, Buffer.Length)
            Do While BytesRead > 0
                Application.DoEvents()
                Writer.Write(Buffer, 0, BytesRead)
                BytesRead = Reader.Read(Buffer, 0, Buffer.Length)
            Loop
            Reader.Close()
            Writer.Close()
            Risposta = Nothing
            Richiesta = Nothing
        Catch ex As Exception
            If Modalita_Errore Then MsgBox("Errore :" & ex.Message)
            Return 1
        End Try
        Return 0
    End Function

Come funziona “File Download”

La funzione IngAC_FILE_DOWNLOAD(ByVal URL_File As String, ByVal Percorso_File As String, Modalita_Errore As Boolean) As Byte crea una richiesta http per l’indirizzo URL_File, a questo punto invia la Richiesta a ottiene la Risposta e uno stream di rete dal quale si potrà leggere il file richiesto.

Si procede col creare un nuovo file in locale (Percorso_File) e il buffer di byte (8129 sembra andare bene, ma può essere ulteriormente aumentato) che contiene i blocchi letti dallo stream. La lettura a blocchi è più conveniente che trasferire in massa tutto il contenuto, poiché altrimenti si dovrebbe usare un buffer di almeno le dimensioni del file.

La funzione Read restituisce come risultato il numero di byte effettivamente letti dallo stream. Il loop permette il download di tutto il file, e la successiva scrittura; il tutto dentro un try-catch-end try al fine di prevenire errori, che eventualmente saranno mostrati da un msgbox se modalita_errore è settata su true. La funzione restituisce zero se il tutto ha esito positivo; restituisce “uno” nel caso di errore.

Nota: ricordarsi di Imports System.IO in testa al listato, per poter usare la funzione IngAC_FILE_DOWNLOAD().

Link utili:

File Download - Codice VB.NET

File Download – Codice VB.NET



Random Post

Alba – Interpretazione dei sogni

Alba - Interpretazione dei sogni

Sognare l’alba: significati, interpretazioni, simbologia e numeri della cabala o smorfia per il gioco del lotto associati al sogno. Le persone che hanno un carattere ottimista, che stanno attrav...

Vai al post...

La pecora nera – Italo Calvino

La pecora nera - Italo Calvino

La pecora nera – Italo Calvino Il racconto “La pecora nera” è stato pubblicato postumo, nel volume “Prima che tu dica: ‘Pronto’ ”. Recentemente è stato riproposto dal comico Be...

Vai al post...

Test: che enneatipo sei?

Test per conoscere il tuo enneatipo

Test per conoscere il tuo Enneatipo Che Enneatipo sei? Per scoprirlo, per ogni sezione del test, scegli la voce in cui ti riconosci maggiormente, e alla fine premi sul pulsante RISULTATO. Se vuoi aver...

Vai al post...

PUBBLICITÀ



Disclaimer:


Questo blog NON è un prodotto editoriale ai sensi della legge n° 62 del 7 marzo 2001. Le immagini tratte da internet che possano violare i diritti di autore, previa comunicazione, attraverso la sezione -contatti-, verranno prontamente rimosse o sostituite.

Copyright:


I contenuti presenti su ROMOLETTO BLOG dei quali è autore il proprietario del blog non possono essere copiati, riprodotti, redistribuiti perché appartenenti all autore stesso. Si vieta la copia e la riproduzione dei contenuti in qualsiasi modo o forma. Si vieta altresì la pubblicazione e la redistribuzione dei contenuti non autorizzata espressamente dell autore.


Copyright © 2011 / 2019 - ROMOLETTO BLOG - All Right Reserved

IngAC

Informazioni su Romoletto Blog

Ingegnere Civile, Blogger, Programmatore VB.NET, Lezioni private per scuole medie inferiori e superiori. Per contattarmi scorri la home fino in fondo e vai al form -Contatti-

Navigazione per Articoli della stessa Categoria