Parcourir la source

video limit conf.

main
Lorenzo Pollutri il y a 1 mois
Parent
révision
843bbbcb9b
2 fichiers modifiés avec 12 ajouts et 5 suppressions
  1. +2
    -5
      app/api/upload/route.ts
  2. +10
    -0
      lib/config.ts

+ 2
- 5
app/api/upload/route.ts Voir le fichier

@@ -3,6 +3,7 @@ import { writeFile, mkdir, rename, unlink } from 'fs/promises';
import path from 'path';
import { fromBuffer as fileTypeFromBuffer } from 'file-type';
import { enqueueTranscode, needsTranscode, probeCodecs, isFfmpegAvailable } from '@/lib/transcode';
import { UPLOAD_LIMITS } from '@/lib/config';

export const dynamic = 'force-dynamic';
export const maxDuration = 300;
@@ -31,11 +32,7 @@ const ALLOWED_MIMES: Record<string, string[]> = {
pdf: ['application/pdf'],
};

const MAX_BYTES: Record<Family, number> = {
image: 25 * 1024 * 1024, // 25 MB
pdf: 20 * 1024 * 1024, // 20 MB (pdfjs lato browser non regge bene di più)
video: 1024 * 1024 * 1024, // 1 GB (verrà ricodificato lato server se necessario)
};
const MAX_BYTES: Record<Family, number> = UPLOAD_LIMITS;

const UPLOAD_DIR = path.join(process.cwd(), 'data', 'uploads');
const TMP_DIR = path.join(UPLOAD_DIR, '.tmp');


+ 10
- 0
lib/config.ts Voir le fichier

@@ -22,3 +22,13 @@ export const TEXT_LIMITS = {
welcomeText: 1000,
},
} as const;

// Dimensioni massime upload per famiglia di file (in byte).
// Usati lato server in app/api/upload/route.ts; sforare → 413.
// Nota: i video grandi vengono comunque transcodificati (può durare minuti).
const MB = 1024 * 1024;
export const UPLOAD_LIMITS = {
image: 25 * MB, // 25 MB
pdf: 20 * MB, // 20 MB (pdfjs lato browser non regge bene molto di più)
video: 1024 * MB, // 1 GB
} as const;

Chargement…
Annuler
Enregistrer