FileSize.tsx 578 B

123456789101112131415161718192021222324
  1. interface IWidget {
  2. size?: number;
  3. }
  4. const FileSizeWidget = ({ size = 0 }: IWidget) => {
  5. let strSize = 0;
  6. let end = "";
  7. if (size > Math.pow(1024, 3)) {
  8. strSize = size / Math.pow(1024, 3);
  9. end = "GB";
  10. } else if (size > Math.pow(1024, 2)) {
  11. strSize = size / Math.pow(1024, 2);
  12. end = "MB";
  13. } else if (size > Math.pow(1024, 1)) {
  14. strSize = size / Math.pow(1024, 1);
  15. end = "KB";
  16. } else {
  17. strSize = size;
  18. end = "B";
  19. }
  20. const output = strSize.toString().substring(0, 4) + end;
  21. return <>{output}</>;
  22. };
  23. export default FileSizeWidget;