2013-10-14 37 views
0

我正在使用'quotaBytedUsed'屬性,同時使用授權獲取請求Files - Files.list驅動器SDK獲取文件夾大小

我將獲得的長整型值轉換爲適當的KB/MB/Gb文件大小。

但是,獲得的所有文件夾的大小爲1 KB。該值不反映文件夾中所有內容大小的總和。

我怎樣才能得到這筆錢(如果可能的話,沒有任何額外的請求到服務器)?用於轉換「quotaBytesUsed」文件大小

代碼是

private string[] SizeSuffixes = new[] { "B", "KB", "MB", "GB", "TB" }; 

private string SizeConvert(long? fileSize) 
    { 
     if (!fileSize.HasValue) 
      return ""; 

     var size = fileSize.Value; 

     if (size <= 1024) 
     { 
      return "1 KB"; 
     } 

     var suffixIndex = 0; 

     while (size > 1024) 
     { 
      size = size/1024; 

      suffixIndex++; 
     } 

     return size.ToString(CultureInfo.InvariantCulture.NumberFormat) + " " + SizeSuffixes[suffixIndex]; 
    } 

回答

3

你所得到的文件夾中對象的大小,而不是其內容。 api不支持獲取文件夾內容的大小。

鑑於相同的文件/文件夾可以在多個文件夾中,我懷疑它將永遠不被支持。

您需要遞歸計算它,例如使用appengine任務隊列。

相關問題