Base64 圖片檔大小判斷

  • 581
  • 0
  • C#
  • 2021-10-15

當Client端透過Base64上傳圖片檔至Server端時,往往我們都需要判斷圖片的檔案大小,是否超過系統限制的大小,這時就可以使用以下的方法來取得圖片的檔案大小。

先簡單備註檔案大小的單位轉換:
1 Byte = 8 Bit
1 KB   = 1024 Byte
1 MB   = 1024 KB
1 GB   = 1024 MB

以下透過Base64字串算出圖片檔案的大小
1. 需先去掉base64字串中的 "data:image/[圖片副檔名];base64,"
2. 再去掉base64字串中的"="號,"="為Base64中補足長度的無效符號,因此需要刪除
3. 計算大案大小

base64File = base64File.Replace("data:image/jpeg;base64,", null);
base64File = base64File.Replace("=", null);
var strLen = base64File.Length;
//Get byte
var baseFileByte = strLen - Math.Ceiling((decimal)strLen / 8) * 2;
//Get KB
var baseFileKB = (baseFileLength / 1024);

參考文獻
https://www.twblogs.net/a/5c0a2f16bd9eee6fb2131774
https://blog.csdn.net/qq_40732336/article/details/119054489