2012-10-06 21 views
13

Dropbox masaüstü istemcilerinin tüm dosyaları bloklara ayırmak ve yalnızca bulutta bulunmadığı blokları (https://serverfault.com/questions/52861/how-does-dropbox-version-upload-large-files) yüklemek için ikili bir fark algoritması kullandıklarını biliyoruz. Bununla birlikte, Dropbox API'si, gördüğüm kadarıyla, bir eşitleme gerektiğinde yalnızca tüm dosyayı (/files_put, /files (POST)) yükleyebilir.REST API kullanarak dropbox fark/artımlı yüklemeler

Dropbox API'sini kullanarak diferansiyel/artımlı eşitleme yapmanın bir yolu var mıdır, yani sadece masaüstü istemcilerin yaptığı gibi dosyanın değiştirilmiş kısmını karşıya yüklüyor mu?

Eğer bu mümkün değilse, Dropbox API'sini kullanarak küçük değişiklikleri olan büyük dosyaları periyodik olarak senkronize etmek için en iyi uygulamalar hangileridir?

+0

Büyük Soru - Hiç bir cevap buldunuz? – DoctorG

+0

Maalesef değil. Uygun bir şey bulursam bu yazıya geri döneceğim. –

+0

AFAIK, HTTP aralığı alma isteği (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.2) Dropbox HTTP API'yi kullanarak dosyaları bloklara indirebilir. dosyaları) yükleme hakkında emin değilim. /files (GET) yöntemi ile ilgili daha fazla bilgi için: https://www.dropbox.com/developers/core/docs –

cevap

4

Ne yazık ki bu mümkün değildir ve bunu kullanılabilir asla şüphe ederim.

Biraz araştırma yaptıktan sonra, bir özellik isteğini for delta-syncing to be integrated into the API buldum. Dropbox yanıt vermedi ve topluluk bu isteği reddetti.

Dropbox'ın bu işlevselliği sağlamamasının ve büyük olasılıkla asla olmayacağının nedeninin, bilinmeyen geliştiricilerin elindeki tehlikeli bir özellik olması nedeniyle, eğitimli bir tahminde bulunurdum. Büyük dosyaları güncellemek için bu tür bir delta değişikliği güncelleştirme sistemi kullanan bir uygulama yazdığınız vakayı düşünün. Uygulamanızı tamamen test edip bir uygulama mağazasına yayınlarsınız. Çok spesifik bir test durumu kaçırmak başardı çünkü senin ilk sürümünden sonra birkaç hafta ve çok sayıda indirilirken, kötü yorum ve şikayetler almaya başlayabilir.

Bu özel durumda, buggy davasında, bir fark ofsetini 1 baytlık yanlış hesapladınız. Oh hayır! Artık yüzlerce kullanıcı için binlerce dosya bozuk.

Böyle bir ihtimal düşünüldüğünde, sanırım Dropbox'ın bu tür bir özellik sunmaması için şahsen rica ediyorum. onlar API içine böyle bir işlevi entegre, bunlar önemli dosyaların tutarlı, güvenli, & güvenilir bulut yedekleme sağlama 1. purpose-- kırma olacaktır.

+3

Sonucunuza katılıyorum: Hata yapmamak bir sebep olmamalı böyle bir işlevsellik sağlayın. Bebek bakıcısı geliştiricileri yapamazsın (ve yapmamalısın). Sürece bilerek şeyler tehlikeli hale ve işler tehlikeli olabilir güzel uyarı ve kalanlar vermeyin, sonra böyle bir şey sağlanmasında bir sorun görmüyorum. –