Il download di contenuti multimediali ripristinabili è una funzionalità della libreria client .NET dell'API di Google dalla versione 1.4.0-beta. Le librerie specifiche delle API di Google contengono metodi pratici per interagire con questa funzionalità.
Il protocollo di download di contenuti multimediali ripristinabili è simile al protocollo di caricamento di contenuti multimediali ripristinabili, come viene descritto, ad esempio, pagina di caricamento dei contenuti multimediali per l'API Drive.
La classe principale di interesse è
MediaDownloader
In questa implementazione del download di contenuti multimediali ripristinabili, i contenuti multimediali vengono scaricati in blocchi (la dimensione del blocco è configurabile).
Codice di esempio
Se i metodi nelle librerie specifiche dell'API contengono "supportsMediaDownload
" nel documento di rilevamento,
quindi Download
e DownloadAsync
nella classe di richiesta sono disponibili metodi di convenienza.
Questi metodi scaricano i dati multimediali in un Stream
fornito. Ad esempio:
{ // Create the service using the client credentials. var storageService = new StorageService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "APP_NAME_HERE" }); // Get the client request object for the bucket and desired object. var getRequest = storageService.Objects.Get("BUCKET_HERE", "OBJECT_HERE"); using (var fileStream = new System.IO.FileStream( "FILE_PATH_HERE", System.IO.FileMode.Create, System.IO.FileAccess.Write)) { // Add a handler which will be notified on progress changes. // It will notify on each chunk download and when the // download is completed or failed. getRequest.MediaDownloader.ProgressChanged += Download_ProgressChanged; getRequest.Download(fileStream); } } static void Download_ProgressChanged(IDownloadProgress progress) { Console.WriteLine(progress.Status + " " + progress.BytesDownloaded); }