From 3e0f2202d3ba41b7b56338970e9d453a2a5ec25f Mon Sep 17 00:00:00 2001 From: Sam Becker Date: Sat, 15 Mar 2025 11:33:59 -0500 Subject: [PATCH] Refine storage file size reporting --- src/platforms/storage/aws-s3.ts | 3 ++- src/platforms/storage/cloudflare-r2.ts | 3 ++- src/utility/number.ts | 8 ++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/platforms/storage/aws-s3.ts b/src/platforms/storage/aws-s3.ts index 7c8dbd70..af418912 100644 --- a/src/platforms/storage/aws-s3.ts +++ b/src/platforms/storage/aws-s3.ts @@ -6,6 +6,7 @@ import { PutObjectCommand, } from '@aws-sdk/client-s3'; import { StorageListResponse, generateStorageId } from '.'; +import { formatBytesToMB } from '@/utility/number'; const AWS_S3_BUCKET = process.env.NEXT_PUBLIC_AWS_S3_BUCKET ?? ''; const AWS_S3_REGION = process.env.NEXT_PUBLIC_AWS_S3_REGION ?? ''; @@ -74,7 +75,7 @@ export const awsS3List = async ( url: urlForKey(Key), fileName: Key ?? '', uploadedAt: LastModified, - size: Size ? `${Size.toFixed(2)}MB` : undefined, + size: Size ? formatBytesToMB(Size) : undefined, })) ?? []); export const awsS3Delete = async (Key: string) => { diff --git a/src/platforms/storage/cloudflare-r2.ts b/src/platforms/storage/cloudflare-r2.ts index 6fd62d0e..4d2d83b3 100644 --- a/src/platforms/storage/cloudflare-r2.ts +++ b/src/platforms/storage/cloudflare-r2.ts @@ -7,6 +7,7 @@ import { } from '@aws-sdk/client-s3'; import { StorageListResponse, generateStorageId } from '.'; import { removeUrlProtocol } from '@/utility/url'; +import { formatBytesToMB } from '@/utility/number'; const CLOUDFLARE_R2_BUCKET = process.env.NEXT_PUBLIC_CLOUDFLARE_R2_BUCKET ?? ''; @@ -94,7 +95,7 @@ export const cloudflareR2List = async ( url: urlForKey(Key), fileName: Key ?? '', uploadedAt: LastModified, - size: Size ? `${Size.toFixed(2)}MB` : undefined, + size: Size ? formatBytesToMB(Size) : undefined, })) ?? []); export const cloudflareR2Delete = async (Key: string) => { diff --git a/src/utility/number.ts b/src/utility/number.ts index 6c2ac38c..2bb5deba 100644 --- a/src/utility/number.ts +++ b/src/utility/number.ts @@ -85,5 +85,9 @@ export const formatNumberToFraction = (number: number) => { } }; -export const formatBytesToMB = (bytes: number) => - `${(bytes / 1024 / 1024).toFixed(2)}MB`; +export const formatBytesToMB = ( + bytes: number, + byteSize = 1000, + precision = 1, +) => + `${(bytes / byteSize / byteSize).toFixed(precision)}MB`;