재개 가능한 미디어 다운로드는 1 .4.0-beta부터 Google API.NET 클라이언트 라이브러리의 기능이었습니다. Google API별 라이브러리에는 이 기능을 사용할 수 있습니다.
재개 가능한 미디어 다운로드 프로토콜은 는 예를 들어 Drive API의 미디어 업로드 페이지에서 찾을 수 있습니다.
기본적으로 다룰 주제는
MediaDownloader
이 재개 가능한 미디어 다운로드 구현에서 미디어 콘텐츠는 청크로 다운로드됩니다 (청크 크기는 구성 가능함).
샘플 코드
API별 라이브러리의 메서드에 'supportsMediaDownload
' 매개변수가 있는 경우
이후 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); }