دانلود رسانه

دانلود رسانه قابل ازسرگیری یکی از ویژگی های کتابخانه سرویس گیرنده Google API .NET از نسخه 1.4.0-بتا بوده است. کتابخانه‌های مخصوص Google API حاوی روش‌های راحت برای تعامل با این ویژگی هستند.

پروتکل بارگیری رسانه قابل ازسرگیری مشابه پروتکل بارگذاری رسانه قابل ازسرگیری است که برای مثال در صفحه بارگذاری رسانه برای Drive API توضیح داده شده است.

کلاس اصلی مورد علاقه MediaDownloader است. در این اجرای دانلود مجدد رسانه، محتوای رسانه به صورت تکه‌ای دانلود می‌شود (اندازه تکه قابل تنظیم است).

کد نمونه

اگر متدهای موجود در کتابخانه‌های مخصوص API حاوی پارامتر " supportsMediaDownload " در سند Discovery باشند، روش‌های راحت Download و DownloadAsync در کلاس درخواست موجود هستند. این روش‌ها داده‌های رسانه را در یک شی Stream که شما ارائه می‌دهید دانلود می‌کنند. به عنوان مثال:
{
    // 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);
}