From ea49971609847bbfa196cd7075aaeccd53047abd Mon Sep 17 00:00:00 2001 From: RandyJC Date: Mon, 8 Dec 2025 21:18:32 +0100 Subject: [PATCH] adding .env for max file upload --- packages/web/src/server/media.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/web/src/server/media.ts b/packages/web/src/server/media.ts index 2a67818..ceece4b 100644 --- a/packages/web/src/server/media.ts +++ b/packages/web/src/server/media.ts @@ -4,6 +4,11 @@ import fs from "fs" import { promises as fsp } from "fs" import path from "path" +const toBytes = (valueMb: number) => valueMb * 1024 * 1024 + +const envMaxMb = Number(process.env.MEDIA_MAX_UPLOAD_MB || process.env.MAX_UPLOAD_MB || 50) +const MAX_UPLOAD_SIZE = Number.isFinite(envMaxMb) && envMaxMb > 0 ? toBytes(envMaxMb) : toBytes(50) + export type StoredMedia = { fileName: string url: string @@ -18,8 +23,6 @@ export type StoredMedia = { }[] } -const MAX_UPLOAD_SIZE = 50 * 1024 * 1024 // 50MB - const ensureMediaFolder = () => { Config.ensureBaseFolders() const folder = Config.getMediaPath() @@ -183,7 +186,9 @@ export const storeMediaFile = async (file: File): Promise => { const buffer = Buffer.from(arrayBuffer) if (buffer.byteLength > MAX_UPLOAD_SIZE) { - throw new Error("File is too large. Max 50MB.") + throw new Error( + `File is too large. Max ${Math.round(MAX_UPLOAD_SIZE / 1024 / 1024)}MB.`, + ) } const targetFolder = ensureMediaFolder()