미디어 다운로드

재개 가능한 미디어 다운로드는 1 .4.0-beta부터 Google API.NET 클라이언트 라이브러리의 기능이었습니다. Google API별 라이브러리에는 이 기능을 사용할 수 있습니다.

재개 가능한 미디어 다운로드 프로토콜은 는 예를 들어 Drive API의 미디어 업로드 페이지에서 찾을 수 있습니다.

기본적으로 다룰 주제는 MediaDownloader 이 재개 가능한 미디어 다운로드 구현에서 미디어 콘텐츠는 청크로 다운로드됩니다 (청크 크기는 구성 가능함).

샘플 코드

API별 라이브러리의 메서드에 'supportsMediaDownload' 매개변수가 있는 경우 이후 DownloadDownloadAsync 편의 메서드를 사용할 수 있습니다. 이러한 메서드는 미디어 데이터를 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);
}