2017-09-13 1 views
1

Est-ce que quelqu'un sait comment analyser un fichier Webclient.DowloadFile dans un fichier VB.Net? Je suis actuellement en train d'utiliser le code suivant mais je continue à recevoir les erreurs: (BC30491) L'expression ne pas produire une valeur. (BC30311) Valeur de type ne peut pas être converti en fichierWebClient.DownloadFile convertir en fichier VB.NET

Private Function DepartmentDataDownloader() As String 
    Dim webClient As New System.Net.WebClient 
    'I get here the error BC30491 
    Dim result As File = webClient.DownloadFile("https://intern.hethoutsemeer.nl/index2.php?option=com_webservices&controller=csv&method=hours.board.fetch&key=F2mKaXYGzbjMA4V&element=departments", "intern.hethoutsemeer.nl.1505213278-Departments.csv") 

    If webClient IsNot Nothing Then 
     'and here BC30311 
     Dim result As File = webClient 
     UploaderFromDownload(webClient) 
    End If 
    Return "" 
End Function 
+0

Func [ 'DownloadFile'] (https://msdn.microsoft.com/en-us/library/ez801hhe (v = vs.110) .aspx) ne reviendra pas valeur. Et vous pouvez init 'File' avec le chemin dans lequel vous stockez le fichier téléchargé – Prisoner

Répondre

1

La méthode DownloadFile ne renvoie pas une valeur, car DownloadFile est un Sub. C'est la raison pour laquelle vous obtenez l'erreur BC30491. Le deuxième paramètre spécifie le chemin du fichier local (et le résultat du téléchargement).

Ainsi, vous pouvez essayer quelque chose comme ce qui suit:

Dim webClient As New System.Net.WebClient 

'after this the file specified on second parameter should exists. 
webClient.DownloadFile("https://intern.hethoutsemeer.nl/index2.php?option=com_webservices&controller=csv&method=hours.board.fetch&key=F2mKaXYGzbjMA4V&element=departments", "intern.hethoutsemeer.nl.1505213278-Departments.csv") 

If webClient IsNot Nothing Then 

    'do something with the downloaded file (File.OpenRead(), File.*). 
    'Dim result As File 
    UploaderFromDownload(webClient) 
End If 

Vous essayez aussi d'affecter la valeur WebClient à une variable File. Ce n'est pas possible, donc vous obtenez l'erreur BC30311.

Conseil: Vous ne pouvez pas créer une instance de la classe File. La classe File fournit des méthodes statiques pour la création, la copie, la suppression, le déplacement et l'ouverture d'un seul fichier et facilite la création d'objets FileStream.
source:https://docs.microsoft.com/en-us/dotnet/api/system.io.file