การดาวน์โหลดสื่อที่ดำเนินการต่อได้เป็นฟีเจอร์ในไลบรารีของไคลเอ็นต์ Google API .NET มาตั้งแต่เวอร์ชัน 1.4.0-เบต้า ไลบรารีสำหรับ 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); }