Function Google_DownloadFilefromCloudPlatform(ByVal service As StorageService, ByVal Bucket As String, ByVal FilePath As String, ByVal FileName As String) As Boolean
Dim bSuccess As Boolean = False
Dim lcldataObject As Google.Apis.Storage.v1.Data.Object = New Google.Apis.Storage.v1.Data.Object
lcldataObject.Name = FileName
lcldataObject.Bucket = Bucket
Dim lclGetRequest As Google.Apis.Storage.v1.ObjectsResource.GetRequest = New Google.Apis.Storage.v1.ObjectsResource.GetRequest(service, lcldataObject.Bucket, lcldataObject.Name)
lcldataObject = lclGetRequest.Execute()
lclGetRequest.MediaDownloader.ChunkSize = (256 * 1024)
Try
'THE DATA OBJECT ALWAYS RETRIEVES THE CORRECT FILE INFO (SUCH AS CORRECT FILE SIZE) FROM THE CORRECT BUCKET, SO THE SERVICE IS WORKING
If lcldataObject.Size.HasValue Then
' CREATES AN EMPTY DESTINATION FILE ON THE LOCAL HARD DRIVE AS EXPECTED
Dim destinationPath As String = FilePath & FileName
Dim downloadStream As FileStream = New FileStream(destinationPath, FileMode.Create, FileAccess.Write)
'THIS FUNCTION CALL CREATES THE EXCEPTION OR CORRECTLY DOWNLOADS DATA TO THE FILE DEPENDING ON THE DAY
lclGetRequest.MediaDownloader.Download(lcldataObject.MediaLink, downloadStream)
bSuccess = True
End If
Catch ex As Exception
' FUNCTION PERIODICALLY ENDS UP HERE DURING THE DOWNLOAD FUNCTION
MsgBox("DownloadFilefromCloudPlatform: " & ex.Message)
End Try
Return bSuccess