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:

Condividi articolo:

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

PREVISIONE LOTTO n° 47 di 150 per SABATO 25 MARZO 2017

Previsione Lotto 25 Marzo 2017

PREVISIONE LOTTO n° 47 di 150 per SABATO 25 MARZO 2017 Esito della previsione precedente:1)ROMA: Estratto. Previsione “beta V3” test precedente: 3)NAPOLI: 50euro 10eLotto; 4)FIRENZE: Es...

Vai al post...

Granchi, granchio – Interpretazione dei sogni

Granchi, granchio - Interpretazione dei sogni

I granchi nel sogno: significati, interpretazioni e numeri del lotto associati. Il granchio è la personificazione di qualità umane come la lentezza, la caparbietà, l’ostinazione e l’at...

Vai al post...

Mamma, madre – Interpretazione dei sogni

Mamma, madre - Interpretazione dei sogni

Sognare la mamma, la propria madre: interpretazioni, significati e numeri del lotto associati. La mamma è un simbolo comune che rappresenta il sacrificio, l’amore, la cura, l’affetto, la...

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 / 2017 - ROMOLETTO BLOG - All Right Reserved

IngAC

Informazioni su Romoletto

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