تم توفير ميزة تنزيل الوسائط القابلة للاستئناف في مكتبة برامج .NET ضمن واجهة Google API منذ الإصدار التجريبي 1.4.0. تحتوي المكتبات الخاصة بواجهة Google API على طرق ملائمة للتفاعل مع هذه الميزة.
ويشبه بروتوكول تنزيل الوسائط القابلة للاستئناف بروتوكول تحميل الوسائط القابل للاستئناف. على سبيل المثال، في صفحة تحميل الوسائط لواجهة برمجة تطبيقات Drive.
الفئة الرئيسية من الاهتمام هي
MediaDownloader
في هذا التنفيذ لتنزيل الوسائط القابلة للاستئناف، يتم تنزيل محتوى الوسائط في أجزاء (حجم المجموعة قابل للتهيئة).
نموذج التعليمات البرمجية
إذا كانت الطرق في المكتبات الخاصة بواجهة برمجة التطبيقات تحتوي على "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); }