Medya İndir

Devam ettirilebilir medya indirme özelliği, 1 .4.0-beta sürümünden itibaren Google API.NET istemci kitaplığında kullanılmaktadır. Google API'ye özel kitaplıklar, API'lerle etkileşimde bulunmak için bu özelliği kullanabilirsiniz.

Devam ettirilebilir medya indirme protokolü, devam ettirilebilir medya yükleme protokolüne benzer. açıklanıyorsa, örneğin Drive API için medya yükleme sayfasına gidin.

Ana ilgi alanı MediaDownloader. Devam ettirilebilir medya indirme özelliğinin bu uygulamasında, medya içeriği parçalar halinde indirilir (parça boyutu yapılandırılabilir).

Örnek Kod

API'ye özel kitaplıklardaki yöntemler "supportsMediaDownload" parametresinden önce ardından Download ve DownloadAsync istek sınıfında kullanılabilirlik yöntemleri mevcuttur. Bu yöntemler, medya verilerini bir Stream olacaktır. Örneğin:
{
    // 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);
}