2016-05-09 6 views
1

ファイルをデータベースにKB単位で格納しています。私は、ファイルの長さをファイル情報によってKBに変換するようにしています。ファイルサイズをKBで取得する

ファイルサイズがDBから返され、KB単位のサイズの値が等しい場合、自分のコードでのみDownloadPathからソフトウェアをインストールできます。しかし、私は常にDBからの値の返り値(常に1 KB)よりも小さいKBでSizeの値を得ています。私は一体どうしたんだろう。

解決に協力してください。

+0

を解決するためにチェック? –

答えて

0
FileInfo FileVol = new FileInfo(DownloadPath); 
string fileLength = FileVol.Length.ToString(); 
string length = string.Empty; 
if (FileVol.Length >= (1 << 10)) 
    length= string.Format("{0}Kb", FileVol.Length >> 10); 

Length =>はファイルのKBになります。

+0

上記のコード変更で元のファイルサイズよりも常に1KB少なくなっています。 – jerin

0

あなたは、このメソッドを使用してファイルサイズを計算することができます

static readonly string[] SizeSuffixes = 
        { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" }; 

    static string SizeSuffix(Int64 value) 
    { 
     if (value < 0) { return "-" + SizeSuffix(-value); } 

     int i = 0; 
     decimal dValue = (decimal)value; 
     while (Math.Round(dValue/1024) >= 1) 
     { 
      dValue /= 1024; 
      i++; 
     } 

     return string.Format("{0:n1} {1}", dValue, SizeSuffixes[i]); 
    } 

その後、サイズを計算した後、使用できるかどうか - 他の利用されているデータベースの名前とバージョンは何あなたの問題

関連する問題